1.首先第一步当然是down掉MySQL了:
/etc/init.d/mysql stop
2.接着创建新的数据库路径:
mkdir -p /mydata/mysql
其中,/mydata是我在云服务器上加的一个数据盘,已经挂载到 /mydata 上去了。我想把所有的MySQL的数据都存到这个数据盘,而不是存到云服务器自带的系统盘。
3.复制MySQL原有的数据,注意,MySQL的原始数据存在/var/lib/mysql/下。
cp -R /var/lib/mysql/* /mydata/mysql
4.注意一定要修改权限,因为/var/lib/mysql 文件夹的属性就是如下的:
chown -R mysql:mysql /mydata/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 = /mydata/mysql
但是我也不知道会不会是在华为云的源下载MySQL配置方式不同。。。。
6.修改启动文件
vim /etc/apparmor.d/usr.sbin.mysqld
把
/var/lib/mysql r
/var/lib/mysql/** rwk
修改成
/mydata/mysql r
/mydata/mysql/** rwk,
6.重启服务
/etc/init.d/apparmor restart
/etc/init.d/mysql restart
原文出处:https://blog.csdn.net/prliebtsy/article/details/79995620