默认的安装目录在/var/lib/mysql下,logs目录在/var/logs/mysql 下,现需要设置为指定的数据盘目录/www/mysql 下。
先关闭mysql服务
root@warton:/www/mysql# service mysql stop
创建相关目录
root@warton:/www# mkdir -p /www/mysql/{data,logs,tmp}
root@warton:/www# cd mysql/
root@warton:/www/mysql# ll
总计 20
drwxr-xr-x 5 root root 4096 1月 12 16:07 ./
drwxr-xr-x 4 root root 4096 1月 12 16:07 ../
drwxr-xr-x 2 root root 4096 1月 12 16:07 data/
drwxr-xr-x 2 root root 4096 1月 12 16:07 logs/
drwxr-xr-x 2 root root 4096 1月 12 16:07 tmp/
迁移数据目录
root@warton:/www/mysql# cp -rf /var/lib/mysql/* /www/mysql/data
设置目录权限为mysql用户
root@warton:/www/mysql# chown -R mysql:mysql /www/mysql
root@warton:/www/mysql# ll
总计 20
drwxr-xr-x 5 mysql mysql 4096 1月 12 16:07 ./
drwxr-xr-x 4 root root 4096 1月 12 16:07 ../
drwxr-xr-x 7 mysql mysql 4096 1月 12 16:08 data/
drwxr-xr-x 2 mysql mysql 4096 1月 12 16:07 logs/
drwxr-xr-x 2 mysql mysql 4096 1月 12 16:07 tmp/
更新 AppArmor 配置(关键步骤)
root@warton:/www/mysql# vim /etc/apparmor.d/usr.sbin.mysqld
# 在末尾添加
/www/mysql/ r,
/www/mysql/** rwk,
/www/mysql/data/ r,
/www/mysql/data/** rwk,
/www/mysql/logs/ rw,
/www/mysql/tmp/ rw,
# 重载配置
root@warton:/www/mysql# systemctl reload apparmor
更新mysql配置文件
root@warton:/www/mysql# vim /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
datadir = /www/mysql/data
log-error = /www/mysql/logs/error.log
socket = /www/mysql/mysql.sock
tmpdir = /www/mysql/tmp
pid-file = /www/mysql/mysql.pid
~
重启服务
root@warton:/www/mysql# service mysql start