背景:
因刚开始安装mysql的时候没有考虑后期磁盘分区空间问题,所以mysql的数据保存目录就按安装默认的目录/usr/local/mysql/(我下载的是一个lamp一键安装包安装的mysql),现在随着服务的运行发现/usr/local/mysql所在分区空间使用快接近100%了,怎么办?不想重装mysql,我服务器大部分空间mount在/app下了,于想想到了linux下的ln -s命令
OK 下面开操作了(注:以下操作均在零晨1点操作,记住先将数据备份成sql文件):
1. service mysqld stop
2. 在/app 下新建一个目录mysqldir : mkdir mysqldir #在新分区上建立mysqldir目录
3. cd /usr/local/mysql && cp -r /app/mysqldir 新数据拷到新目录mysqldir下
4. rm -rf mysql //把原来的数据目录删掉
5 ln -s /app/mysqldir mysql
6. service mysqld start
本以为没啥问题,运行第6条命令后发现mysql起不来,所如下错误:
Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/AY13121220352352963dZ.pid).
运行service mysqld status输出如下提示信息:
ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
ok 这个问题应该很常见了,我的解决办法是运行如下命令:
1. chown -R mysql:mysql /app/mysqldir #设置新目录权限归mysql用户所有
2. rm -f /var/lock/subsys/mysql
再执行service mysqld start 大功告成
最新内容请见作者的GitHub页:http://qaseven.github.io/