这里有新鲜出炉的 Mysql 教程,程序狗速度看过来!
MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典 MySQL AB 公司。MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。
本文给大家分享解决修改 mysql 的 data_dir 所引发的错误问题,非常不错具有参考借鉴价值,需要的朋友参考下吧
今天,搭建新购的阿里云 ECS 环境 (ubuntu 16.04 LTS),需要将 mysql 的数据保存在新挂载的磁盘上(已挂载到 / mnt 下),先停掉 mysql 服务,然后查看 mysql 并数据保存的位置:
- vi / etc / mysql / mysql.conf.d / mysqld.cnf
发现
, 这也就是数据所在目录,于是将它修改为
- datadir=/var/lib/mysql
, 然后保存, 最后将 mysql 保存的数据的拷贝到 / mnt 下:
- datadir=/mnt/mysql
- cp - r /
- var / lib / mysql / mnt chown - R mysql: mysql / mnt / mysql
完成拷贝后,本以为一切就绪,开启 mysql 服务:
- systemctl start mysql
但是却发现启动失败,于是再去看看 mysql 的错误日志:
- tail -f -n100 /var/log/mysql/error.log
发现错误信息如下:
- [Warning] Can 't create test file /mnt/mysql/iZwz9c03srb2lq9l374if5Z.lower-test'
细想一下,mysql 的配置应该没问题了啊。检查一下 apparmor 的配置:
- vi / etc / apparmor.d / usr.sbin.mysqld
发现其中有如下配置:
- # Allow data dir access
- /var/lib/mysql/ r,
- /var/lib/mysql/** rwk,
坑爹啊,刚刚将 mysql 配置文件的
已经改了,但是却仍然被这儿限制了,于是,将它修改为:
- datadir的/var/lib/mysql
- # Allow data dir access
- /var/lib/mysql/ r,
- /var/lib/mysql/** rwk,
- /mnt/mysql/ r,
- /mnt/mysql/** rwk,
保存。重启 apparmor 服务:
- service apparmor restart
然后再次启动 mysql 服务:
- systemctl start mysql
服务终于启动成功了。。。
以上所述是小编给大家介绍的解决修改 mysql 的 data_dir 所引发的错误问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对 PHPERZ 网站的支持!
来源: http://www.phperz.com/article/17/0811/339351.html