本人使用的Ubuntu系统,当初划分/根目录下15G空间,目前mysql数据文件已达近3G,决定将其从原目录(/var/lib/mysql)转移到空间较大的home目录下,起初遇到一些问题,参考网上文章后操作成功,在此做下流程记录。
1. 创建目标数据文件夹(如:/home/flyer0126/data/mysqldb),并复制数据文件
cd ~ mkdir data/mysql cp -r /var/lib/mysql ~/data/mysqldb/
2. 修改mysql配置文件my.cnf
# vim /etc/mysql/my.cnf
将datadir = /var/lib/mysql
改为 datadir = /home/flyer0126/data/mysqldb/mysql
3. 修改文件夹权限
# chown -R mysql:mysql /home/flyer0126/data/mysqldb/mysql/ ← 改变数据库文件目录的归属为mysql
4. 修改usr.sbin.mysqld
# sudo vim /etc/apparmor.d/usr.sbin.mysqld 把 /var/lib/mysql r, /var/lib/mysql/** rwk, 改成 /home/flyer0126/data/mysqldb/mysql/ r, /home/flyer0126/data/mysqldb/mysql/** rwk,
注意,无此步骤的话,mysql重启报错,类似找不到“Can't open the mysql.plugin table.”等,导致启动失败。
开始本人也是在此环节出错。
5. 重启服务
#sudo /etc/init.d/apparmor restart #sudo /etc/init.d/mysql restart
至此,启动成功即搞定!
参考文章:http://blog.csdn.net/deutschester/article/details/6866187