如何更改Linux(CentOS)系统下的MySQL数据库目录位置
1、首先我们需要关闭MySQL,命令如下:
?1 | service mysqld stop |
2、然后是转移数据,为了安全期间,我们采用复制的命令cp,先找到mysql的原目录
?1 2 | cd /var/lib ls |
运行这个命令之后就会看到mysql的目录了,然后执行cp命令
?1 | cp -a mysql /home/mysql_data/ |
这样就把数据库复制到/home/mysql_data
下面去了
注意:(-a
这个参数一定要带着,否则复制过去的权限就不对了。)
如果数据库比较大的话,时间会比较长,可能会超时,具体怎么设置ssh不超时的办法,请大家自己找相关资料。
3、然后我们修改配置文件,一共有三个,下面我一一说明:
修改第一个文件:修改之前先备份
?1 | cp /etc/my .cnf /etc/my .cnfbak |
1 | vi /etc/my .cnf |
打开之后修改datadir的目录为/home/mysql_data/mysql
,
把socket
改成/home/mysql_data/mysql/mysql.sock
,为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。
修改第二个文件:修改之前先备份
?1 | cp /etc/init .d /mysqld /etc/init .d /mysqldbak |
1 | vi /etc/init .d /mysqld |
注意:准确的位置是/etc/rc.d/init.d/mysqld
,由于这里这里有一个/etc/init.d
到/etc/rc.d/init.d
的映射,
所以用上面的命令即可,也简单。
把其中datadir=/var/lib/mysql
一行中,等号右边的路径改成你现在的实际存放路径:/home/mysql_data/mysql
修改第三个文件:修改之前先备份
?1 | cp /usr/bin/mysqld_safe /usr/bin/mysqld_safebak |
1 | vi /usr/bin/mysqld_safe |
这里也是修改datadir
的目录为/home/mysql_data/mysql
4、下面需要建立一个mysql.sock
的链接:
1 | ln -s /home/mysql_data/mysql/mysql .sock /var/lib/mysql/mysql .sock |
至此所有的修改都完成了,下面启动mysql
?1 | service mysqld start |
或者重启linux
?1 | reboot |
看下Mysql是否正常运行,如果能正常启动,那基本上就没什么问题了。
更多关于Mysql的基础教程请点击下面的相关文章
原文链接:https://www.cnblogs.com/hekw07/p/4042665.html
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。