注意:在操作之前,要先备份好数据库。
默认情况下,MySql的数据库文件位于/var/lib/mysql下。于是想着把现在的数据库文件移动到挂载的硬盘上。找了一些办法,例如一起移动socket,datadir等等。但是移动完成后不能启动。最终找到了一个很完美的方案。
- 停止Mysql服务
sudo /etc/init.d/mysql stop
- 复制现在的数据库文件到新的路径下
sudo cp -R -p /var/lib/mysql /path/to/new/datadir
- 更改MySql的配置文件.在my.cnf中查找datadir,将其值更改为新的路径。
- 修改usr.sbin.mysqld。如不明白为什么修改这个文件,查看一下AppArmor
sudo vi /etc/apparmor.d/usr.sbin.mysqld
从/var/lib/mysql到最后,先复制一下。然后将原来的值全部用#注释掉。如果有注释的,最好也加一个注释,这样就会知道哪些注释是默认的,哪些注释是你新添加的。注释完后,在最后一行粘贴刚才复制的内容。并将/var/lib/mysql的值换成新的路径
- 启动MySql
sudo service mysql start