一、为什么要更换mysql数据存放目录
原因之一:在mysql使用过程中,数据增长速度过快导致达到原先存放mysql数据的目录的最大限制,使得mysql无法正常提供服务。在这种情况需要将mysql原先的数据迁移到另外一个大的目录中。
二、迁移步骤
1.关闭mysql服务
/usr/bin/mysqladmin -uUSER_NAME -p shutdown
如果此时服务器已经无法登录,只能先手工去数据存放目录中删除掉不太重要的数据库文件夹。
2.修改mysql的配置文件
vim /etc/my.cnf
修改原先的目录为新的目录:
原始目录#datadir=/var/lib/mysql
新目录:datadir=/data/var/mysql
同时最好修改 log_slow_queries、socket存放目录和数据存放一样,保持一致
3.拷贝原始数据文件到新路径
cp -r /var/lib/mysql/ /data/var/
如果你是不是用mysql这个用户执行cp命令,要修改新目录的所有者 chown -R mysql:mysql /data/var/mysql/
4. 重启mysql服务
以root用户身份执行 :/usr/bin/mysqld_safe --user=mysql &
5.可能的问题
如果同时更新socket的目录,而且为mysql.sock 在/tmp下创建了软链接,那么要同时更新这个软链接所链接的问题