原文摘自: https://blog.csdn.net/prliebtsy/article/details/79995620
1.首先第一步当然是down掉MySQL了:
# /etc/init.d/mysql stop
2.接着创建新的数据库路径:
# mkdir -p /ssd1/mysql
其中,/ssd1是我在云服务器上加的一个数据盘,已经挂载到 /ssd1 上去了。我想把所有的MySQL的数据都存到这个数据盘,而不是存到云服务器自带的系统盘。
3.复制MySQL原有的数据,注意,MySQL的原始数据存在/var/lib/mysql/下。
# cp -R /var/lib/mysql/* /ssd1/mysql
4.注意一定要修改权限,因为/var/lib/mysql 文件夹的属性就是如下的:
# chown -R mysql:mysql /ssd1/mysql
5.修改配置文件夹
这一步网上都说是修改 /etc/mysql/my.cnf 文件,可是我vim进去发现根本没有 datadir 变量,查了很多资料都没找到,然后自己捣鼓发现 /etc/mysql 下有个 mysql.conf.d 文件夹,下面有 mysqld.cnf 文件,进去一看,果然 datadir变量在里面!所以正确的操作应该是:
# vim /etc/mysql/mysql.conf.d/mysqld.cnf
将 [mysqld] 组下的 datadir改为:
datadir = /ssd1/mysql
但是我也不知道会不会是在阿里云的源下载MySQL配置方式不同。。。。
6.修改启动文件
# vim /etc/apparmor.d/usr.sbin.mysqld
把
/var/lib/mysql r
/var/lib/mysql/** rwk
修改成
/ssd1/mysql r
/ssd1/mysql/** rwk,
6.重启服务
# /etc/init.d/apparmor restart
# /etc/init.d/mysql restart