Linux系统mysql数据库目录变更修改
本文是简单整理一下这几天把MySQL从/var/lib/mysql
目录下面转移到/home/mysql_data/mysql
下面具体操作。
首先我们需要关闭MySQL,命令如下:
1 | #service mysqld stop |
网上有很多人都是用的mysqladmin -u root -p shutdown
,不过我这个是系统安装的是kloxo面板,root密码并不知道,虽然可以重置,但是比较麻烦。
然后是转移数据,为了安全期间,我们采用复制的命令cp,先找到mysql的原目录
1 2 | #cd /var/lib #ls |
运行这个命令之后就会看到mysql的目录了,然后执行cp
命令
1 | #cp -a mysql /home/mysql_data/ |
这样就把数据库复制到/home/mysql_data
下面去了,注意-a这个参数一定要带着,否则复制过去的权限就不对了。如果数据库比较大的话,时间会比较长,可能会超时。
然后我们修改配置文件,一共有三个,下面我一一说明:
1 | #vi /etc/my.cnf |
打开之后修改datadir的目录为/home/mysql_data/mysql
,把socket改成/home/mysql_data/mysql/mysql.sock
,为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。
1 | #vi /etc/init.d/mysqld |
准确的位置是/etc/rc.d/init.d/mysqld
,由于这里这里有一个/etc/init.d
到/etc/rc.d/init.d
的映射,所以用上面的命令即可,也简单。
这里主要也是修改datadir的目录为/home/mysql_data/mysql
1 | #vi /usr/bin/mysqld_safe |
这里也是修改datadir的目录
下面需要建立一个mysql.sock
的链接:
1 | #ln -s /home/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock |
至此所有的修改都完成了,下面启动mysql
1 | #service mysqld start |