求助:Ubuntu16 下MySQL 更换数据存储目录问题

ccc8128 2017-04-24 12:22:23
求教各位大神:
已经逛了无数个网页,看了至少三十个在Ubuntu下怎么迁移Mysql的数据文件目录的文章。没有一个能在我的环境下生效的。
目前我的环境很纯净:
服务器:阿里云Ubuntu 16.04 64位, 加载了数据盘500G在 /mnt下,并mkdir /mnt/database准备存储更多的数据;
数据库:MySQL 5.7.17(随便加了几个数据测试正常)
MySQL 默认数据存储目录:/var/lib/mysql
为了迁移默认数据存储目录:

做了如下操作后,仍不正常,请教大神指点!

我做过的操作:
1. # cp -a /var/lib/mysql  /mnt/database

2. # chown -R mysql:mysql /mnt/database/mysql/ 

3.修改 mysqld.cnf 文件
#vi /etc/mysql/mysql.conf.d/mysqld.cnf
将datadir = /var/lib/mysql 改为 datadir = /mnt/database/mysql

4. 修改文件usr.sbin.mysqld(两处,一个是目录 ,一个是目录下的文件)
# vi /etc/apparmor.d/usr.sbin.mysqld

5 修改abstractions/mysql文件
#vi /etc/apparmor.d/abstractions/mysql

就是这最后一步,和网上说的不一样,别的文章说,修改内容为:
#——————————————————————————
# /var/lib/mysql/mysq.sock rw
/mnt/database/mysql/mysql.sock rw
/{var/,}run/mysql{,d}/mysql{,d}.sock rw,
/usr/share/{mysql,mysql-community-server,mariadb}/charsets/ r,
/usr/share/{mysql,mysql-community-server,mariadb}/charsets/*.xml r,

但我的这个文件打开后,需要被注释/重写的的那一行,是这样的:
/var/lib/mysql{,d}/mysql{,d}.sock rw,
我改写为这两种格式,都试过了,都不行:
# /mnt/database/mysql/mysql.sock rw,
# /mnt/database/mysql{,d}/mysql{,d}.sock rw,

还有的帖子说,需要修改/etc/init.d/mysql 这个文件的 datadir 内容的,我也看了,文件内容和帖子上说的不一样。

还请问各位大神,问题出在哪里?
非常感谢!
...全文
217 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_40979089 2018-03-10
  • 打赏
  • 举报
回复
你好,我也遇到了相同的问题,请问你最终是怎么解决的,谢谢
ccc8128 2017-04-24
  • 打赏
  • 举报
回复
还有的帖子说,需要修改/etc/init.d/mysql 这个文件的 datadir 内容的,我也看了,文件内容和帖子上说的不一样。我的这个文件的内容是这样的: # datadir=`mysqld_get_param datadir` (原内容) # datadir='/mnt/database/mysql' (改写后的内容)

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧