日期:2014-05-16  浏览次数:20587 次

linux 下mysql 数据存储目录的变更

在阿里云服务器上安装了mysql以后,一开始由于没有挂载数据盘,mysql的数据存储目录就使用了默认的设置,数据的存储目录为: /var/lib/mysql.

?

之后数据盘挂载到了以下目录 /mnt, 所以决定把mysql的数据保存到数据盘,一个原因是系统盘的容量有限,另一个重要原因则是为了数据的安全性考虑,毕竟在系统盘下,万一系统崩溃,那么系统的数据则面临丢失的风险。

?

好了言归正传,下面列出数据目录更改的几个主要步骤:

1.备份原有的my.cnf, cp /etc/my.cnf ?/tmp

2.停止mysql服务,/etc/init.d/mysql stop

3.拷贝当前mysql的数据到目标数据盘目录, cp -R /var/lib/mysql ? /mnt/lib

4.修改my.cnf,?在[mysqld]中,把datadir=/var/lib/mysql更改为datadir=/mnt/lib/mysql,把socket=/var/lib/mysql.sock更改为socket=/mnt/lib/mysql/mysql.sock,其它相关目录也相应修改过来

5.修改启动文件/etc/init.d/mysqld

把 datadir "/var/lib/mysql"更改为 datadir "/mnt/lib/mysql"

6.启动mysql服务,/etc/init.d/mysql start

?

注意:如果新建的数据盘目录还没有mysql访问的权限,则通过以下命令由root来赋予,否则mysql启动将会失败,chown -R mysql:mysql /mnt/lib/mysql