mysql更改存储路径服务不能启动_Linux下改动mysql的存储目录后,mysql无法启动

本帖最后由 xrksudy 于 2010-07-20 10:57:41 编辑

我安装的mysql版本为:MySQL-server-community-5.1.48-1.rhel4.i386.rpm

通过命令: rpm -ivh MySQL-server-community-5.1.48-1.rhel4.i386.rpm

安装后,mysql启动正常。但是我想把默认安装的数据库文件转移到/home/data/目录下,我修改了一些配置文件后就无法启动mysql了。

我具体的安装步骤为:

1、把MySQL服务进程停掉:

mysqladmin -u root -p shutdown

采用命令查询mysql进程:ps aux | grep mysql | grep -v grep 所有有关mysql的进程都关掉了。

2、把/var/lib/mysql整个目录移到/home/data

mv /var/lib/mysql /home/data/

这样就把MySQL的数据文件移动到了/home/data/mysql下

3、找到my.cnf配置文件

如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

4、编辑MySQL的配置文件/etc/my.cnf

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:

vi  my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修改之)

# The MySQL server

[mysqld]

port   = 3306

#socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)

socket  = /home/data/mysql/mysql.sock   (加上此行)

5、修改MySQL启动脚本/etc/rc.d/init.d/mysql

最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。

[root@test1 etc]# vi /etc/rc.d/init.d/mysql

#datadir=/var/lib/mysql    (注释此行)

datadir=/home/data/mysql     (加上此行)

6、重新启动MySQL服务

/etc/rc.d/init.d/mysql start

或用reboot命令重启Linux

但当我操作到第6步时报错:Starting MySQL.Manager of pid-file quit without updating file.[FAILED]

查看日志文件:

[root@localhost mysql]# cat localhost.localdomain.err

100716 03:35:54 mysqld_safe Starting mysqld daemon with databases from /home/data/mysql

100716  3:35:54 [Warning] Can't create test file /home/data/mysql/localhost.lower-test

100716  3:35:54 [Warning] Can't create test file /home/data/mysql/localhost.lower-test

/usr/sbin/mysqld: Can't change dir to '/home/data/mysql/' (Errcode: 13)

100716  3:35:54 [ERROR] Aborting

100716  3:35:54 [Note] /usr/sbin/mysqld: Shutdown complete

100716 03:35:54 mysqld_safe mysqld from pid file /home/data/mysql/localhost.localdomain.pid ended

感觉是在/etc/my.cnf配置文件没配好,我把软件卸载后,把/etc/my.cnf删除,安装默认安装,和默认的数据库存储目录,mysql服务又可以启动了。

以上的操作步骤,我都是按照网上的一个教程做的。有哪位朋友能帮忙解决下?谢谢。

|

你看看那几句错误信息

我感觉非常可能是权限的问题 你自己再好好检查

我不确认你的mysql是不是用到了mysql用户还是别的用户  我的情况下是mysql用户

你执行一下 grep "mysql" /etc/passwd  我看看

另外/etc/my.cnf里也有关datadir的设定

[mysqld]

datadir=/xxxx/mysql

socket=/xxxx/mysql.sock

|

注意selinux权限,重置selinux上下文或者修改为原来的上下文。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值