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