一. 停止数据库
➜ ~service mysql stop
二. 创建数据要存储的目标目录
➜ ~mkdir /data/mysql_data
**三. 指定目录的拥有者
➜ ~chown mysql:mysql /data/mysql_data
四. 修改mysql配置文件
➜ ~vi /etc/mysql/my.cnf
##找到datadir并修改刚才创建的目录##
#datadir = /var/lib/mysql
datadir = /data/mysql_data
五.复制原来的mysql数据
###记住cp一定要加-a选项,防止权限等丢失###
➜ ~cp -a /var/lib/mysql/* /data/mysql_data/
六. 修改mysql访问新数据目录的权限
➜ ~ vi /etc/apparmor.d/usr.sbin.mysqld
###找到mysql原先的路径权限配置,修改成新的目录###
#/var/lib/mysql/ r
#/var/lib/mysql/** rw
/data/mysql_data/ r
/data/mysql_data/** rw
> 注意:这里目录后面的斜杠"/"一定不能丢,丢了会导致mysql errno 13的错误
七. 重新加载权限控制服务
➜ ~ service apparmor restart
八. 启动mysql服务
➜ ~ service mysql start
九. 测试是否迁移成功
1. 登录数据库,创建一个数据库
mysql>create database migrate_test;
mysql>show databases;
+------------------------+
| Database |
+------------------------+
| migrate_test |
+------------------------+
mysql>use migrate_test;
mysql>create table test(name VARCHAR(20), age INT);
mysql>exit
2.进入数据目录查看
➜ ~ cd /data/mysql_data
➜ ~ ls
###若找到刚才数据库migrate_test对应目录说明迁移成功
migrate_test
➜ ~ ls migrate_test
db.opt test.frm