修改my.cnf文件中的datadir,然后用service mysql start命令启动mysql,提示start: Job failed to start。
查看errlog后发现提示 /usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
百度了一下发现还需要修改另一个文件 /etc/apparmor.d/usr.sbin.mysqld 把里面和datadir相关的路径改为新的目录的路径
/var/lib/mysql/ r,# /var/lib/mysql/** rwk, 改为 /home/mysql/ r, /home/mysql/** rwk
执行/etc/init.d/apparmor reload 提示:
* Reloading AppArmor profiles Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox [ OK ]
然后执行service mysql start ,启动成功。
方法总结如下:
第一步 service mysql stop停止数据库
第二步 修改/var/lib/my.cnf文件中的datadir目录,并把原datadir下的文件移动到新的位置
第三步 修改/etc/apparmor.d/usr.sbin.mysqld,把里面和datadir相关的路径改为新的目录的路径,执行/etc/init.d/apparmor reload
第四步 service mysql start启动mysql