mysql更改默认数据目录
写在前面
下定决心要坚持写技术博客,不过真是精力有些不足。
mysql默认安装好后,数据目录会在/var/lib/mysql中,在测试或自己本机上无所谓,但对于线上服务器应该把数据目录设置到数据盘所在的目录上,修改过程中遇到各种各样的问题,经过一番折腾,终于搞定。
1.关闭mysql服务
service mysql stop (centos,federo可能为 service mariadb stop)
2.同步当前数据目录到数据盘所在目录
sudo rsync -av /var/lib/mysql /data/mysql
3.备份数据目录
sudo mv /var/lib/mysql /var/lib/mysql-bak
sudo mkdir /var/lib/mysql/mysql -p ,
创建此文件夹是因为/usr/share/mysql/mysql-systemd-start服务器在mysql启动过程中会验证文件目录
4.更改mysql配置文件
/etc/mysql/mysql.conf.d/mysql.cnf
修改此文件的的 datadir参数为
/data/mysql (修改后的mysql数据所在的目录)
5.修改AppArmor权限
apparmor 会限制mysql程序对文件的访问。
修改配置文件:
/etc/apparmor.d/tunables/alias
增加一行
alias /var/lib/mysql/ -> /data/mysql ,
6.重启apparmor
sudo service apparmor restart
7. 启动mysql
sudo service mysql start