环境:CentOS(Linux) Mysql5.X
1.如果MySQL已经启动的话,需要先停止MySQL的运行
#service mysqld stop
2.home 目录下新建目录[data]
/home #mkdir data
3.移动MySQL默认数据库文件
#mv /var/lib/mysql /home/data
4.修改MySQL配置文件
#vi /etc/my.cnf
datadir=/var/lib/mysql改为/home/data/mysql
socket=/var/lib/mysql/mysql.sock改为/home/data/mysql/mysql.sock
注意:如果使用了innodb,还需要修改innodb的存储路径;
5.做一个mysql.sock的链接
/var/lib/ #mkdir mysql
#ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock
6.最后重启MySQL服务
#service mysqld start
./mysql-bin.index' not found (Errcode: 13) 的解决方法
020101 00:42:21 mysqld started
/usr/local/mysql/libexec/mysqld: File './mysql-bin.index' not found (Errcode: 13)
020101 0:42:21 [ERROR] Aborting
020101 0:42:21 [Note] /usr/local/mysql/libexec/mysqld: Shutdown complete
提示./mysql-bin.index无法找到(由于mysql开启了bin日志功能),到数据库根目录查看该文件是存在的,可能是文件权限的问题,查看了数据库根目录的权限是700,所有者和用户组都是root,可能是上次转移数据库的时候不小心修改了文件夹的权限。
解决方法:
chgrp -R mysql /usr/local/mysql/data && chown -R mysql /usr/local/mysql/data
重新启动mysql [OK]
其他错误,可以查看log-error=/var/log/mysqld.log这个log文件