mysql默认的数据文档存储目录为/var/lib/mysql,但是/var空间有时会比较小,产导致磁盘满,无法正常操作数据库。
需要将 /var/lib/mysql 迁移到其他大的目录,
例如我要迁移到 /data/var/lib 目录下。 (使用root账户操作)
1.创建文件夹 /data/var/lib
mkdir -p /data/var/lib
chmod 777 /data/var/lib
2.停止mysql服务
service mysqld stop
3.复制数据目录 & 备份原有数据目录
rm -fr /data/var/lib/mysql/
cp -R /var/lib/mysql /data/var/lib
备份:
mv /var/lib/mysql /var/lib/mysql_bak
4.授权
chown -R mysql:mysql /data/var/lib/mysql/
5.修改配置文件 /etc/my.cnf
vi /etc/my.cnf
修改:
datadir=/data/var/lib/mysql
socket=/data/var/lib/mysql/mysql.sock
6.重启
service mysqld start
查看mysql进程
ps -ef|grep mysqld
7.验证
mysql -uroot -p
show variables like '%dir%';
问题:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
解决:
mkdir -p /var/lib/mysql/
ln -s /data/var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock
网友评论