修改之前先备份配置文件,防止出错无法恢复。
sudo cp -n /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
sudo cp -n /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/usr.sbin.mysqld.bak
停止mysql服务
sudo service mysql stop
拷贝原数据库目录 到新的目录
sudo cp -r /var/lib/mysql /userdata/database
修改新的目录位置权限
sudo chown mysql:mysql /userdata/database/mysql -R
sudo chmod 700 /userdata/database/mysql
修改mysql配置文件
sudo vim /etc/mysql/my.cnf
将当中的 datadir项的位置修改为 /userdata/database/mysql
修改ubuntu的权限控制文件 apparmor 配置文件
sudo vim /etc/apparmor.d/usr.sbin.mysqld
将其中两行/var/lib/mysql 修改为/userdata/database/mysql/
注意保留目录末尾的斜杠和 权限描述
最后重新加载配置文件
sudo /etc/init.d/apparmor reload
sudo service mysql start
配置文件修改正确的情况下,如果mysql不能启动,问题可能处在数据库目录
权限问题上,回头看看元目录的权限(用户和组,以及读写权限)