1.先停止mysql
/etc/init.d/mysql stop
2.创建一个目录作为临时存放mysql数据的目录
mkdir /mysqldata
3.ubuntu中mysql数据存放在/var/lib/mysql 目录中,并且属于mysql用户和mysql组,权限是700,所以我们也需要给迁移的目录/mysqldata相同的的用户和组以及权限
chown -vR mysql:mysql /mysqldata
chmod 700 /mysqldata
4.复制mysql文件的内容到mysqldata文件中,必须是root的用户不然没得权限
cp -av /var/lib/mysql/* /mysqldata
5.修改mysql的配置文件,ubuntu的mysql配置文件放在 /etc/mysql/my.cnf,修改my.cnf文件如下:
注释掉以前的datadir目录 添加新的datadir目录
6.还需要修改一个文件,/etc/apparmor.d/usr.sbin.mysqld,注释 /var/lib/mysql/ r, 和/var/lib/mysql/** rwk,添加如下两行
/mysqldata/ r,
/mysqldata/** rwk,
7修改完成上面之后要重启apparmor和mysql
service apparmor reload
/etc/init.d/mysql start
8.测试数据迁移是否成功
登录数据库:mysql -u root -p
create database etst; //创建数据库
存在此数据库,说明迁移成功
9.最后可以放心的将之前的/var/lib/mysql/下的文件删除
rm -R /var/lib/mysql/*