在16.04和18.04版本的mysql数据库,默认是5.7版本的,想要修改数据目录,需要修改2个地方
一个是mysql的配置文件,另一个是apparmor。
apparnor 是控制访问权限的, mysql依赖它
创建新的目录
1 2 3
| mkdir /data/mysql sudo chmod 0700 /data/mysql sudo chown mysql:mysql /data/mysql
|
移动数据
1
| mv /var/lib/mysql/* /data/mysql
|
删除日志
不删除会报错
1
| rm -rf /data/mysql/ib_logfile*
|
修改mysql配置文件
1 2
| vim /etc/mysql/my.cnf datadir=/data/mysql
|
修改apparmor的配置文件use.sbin.mysqld
1
| vim /etc/apparmor/usr.sbin.mysqld
|
把
1 2
| /var/lib/mysql/ r, /var/lib/mysql/** rwk,
|
修改为
1 2
| /database/mysql/ r, /database/mysql/** rwk,
|
重启 apparmor
1
| systemctl restart apparmor
|
重启 mysql
如果出现启动成功,但是测试新建数据库还是在原来的目录,试试重启服务器,或者仔细查看mysql配置文件,提醒一下 并不需要更改/usr/share/mysql/mysql-systemd-start 脚本中的datadir变量