How to change MySQL server's data directory on Ubuntu
How to change MySQL server’s data directory on Ubuntu
背景
MySQL server
- MySQL server 的缺省 Data 目录是 /var/lib/mysql
- /var/lib/mysql 目录一般在 / 分区下
- / 区一般都不大,而且不推荐放数据
- 所以但凡正常 MySQL server,都存在 Data 目录放真正数据分区的需求
- 如果刚开始时没有设置好 Data 目录在数据分区,那么后来都有迁移 Data 目录到数据分区的需求
Ubuntu
- AppArmor 是强制性访问控制(MAC)系统,是对内核(LSM)的增强,可以将程序限制在有限的资源集中。
- AppArmor 在 Ubuntu 系统里基本上缺省启动生效。
- Ubuntu 下的 MySQL server 缺省配置的有 AppArmor 设置。
- 所以要修改 MySQL Server’s Data 目录,需要先修改 MySQL server 的 AppArmor 设置
具体步骤
修改 AppArmor 配置并使之生效
1 | cat <<EOF > /etc/apparmor.d/local/usr.sbin.mysqld |
MySQL server
1 | systemctl stop mysql; |