Ubuntu下面更改MySQL数据库数据存储目录遇到的问题

之前写过一篇博客“mysql更改数据库数据存储目录”,当时的测试环境是rhel和centos,谁想最近在ubuntu下面更改mysql数据库数据存储目录时遇到了之前未遇到的问题,之前的经验用不上了(或者说之前的总结不是太全面),修改完mysql数据库数据存储目录后重启mysql,发现mysql服务无法启动。
root@mylnx2:/etc/mysql/mysql.conf.d# service mysql start
job formysql.service failed because the control process exited with error code.seesystemctl status mysql.serviceandjournalctl -xefordetails.
连mysql的错误日志也未生成,使用service mysql status命令可以输出一些较详细的信息,如下所示:
错误信息为“[warning] can’t create test file /mysql_data/mysql/mylnx2.lower-test”。其实这里是踩到了“apparmor”这个坑,之前对ubuntu了解不多,所以直到遇到这个问题,才了解、知道这么个概念。下面是百科对apparmor的介绍:
apparmor是一个高效和易于使用的linux系统安全应用程序。apparmor对操作系统和应用程序所受到的威胁进行从内到外的保护,甚至是未被发现的0day漏洞和未知的应用程序漏洞所导致的攻击。apparmor安全策略可以完全定义个别应用程序可以访问的系统资源与各自的特权。apparmor包含大量的默认策略,它将先进的静态分析和基于学习的工具结合起来,apparmor甚至可以使非常复杂的应用可以使用在很短的时间内应用成功。
apparmor对mysql所能使用的目录权限做了限制,如下截图所示,规定了mysql使用的数据文件路径权限。
# cat /etc/apparmor.d/usr.sbin.mysqld
我将mysql的数据库数据存储目录从/var/lib/mysql 切换到/mysql_data/mysql下面。所以就遇到了上面错误,需要修改或新增两条记录,从而使mysqld可以使用/mysql_data/mysql这个目录
/mysql_data/mysql/ r,
/mysql_data/mysql/** rwk,
然后重启apparmor服务后,然后就可以重启mysql服务了。
sudo service apparmor restart
当然/etc/apparmor.d/usr.sbin.mysqld还有allow plugin access需要调整,这个不是重点,在此略过。
犹豫了一会,还是记录一下这个小小案例!虽然网上已有不少人总结这个,但是自己动手总结一下,印象也深刻一点!

广明源LED草莓种植灯采用专用种植草莓的光谱培养优质草莓
曲面电视新颖,高价有点唬人 仍然很小众
防逆流逆功率保护装置在光伏系统的实际应用
人工智能真会抢走我们的饭碗?
详细解析GPU的算法的3大优势以及并行化的研究问题
Ubuntu下面更改MySQL数据库数据存储目录遇到的问题
Mate 30系列的热点和Wi-Fi功能可同时进行使用
卫生巾吸收速度测试仪介绍
Power Link转Modbus网关:半导体生产线自动化的数据桥梁
额定电压是什么、双电源开关的参数介绍
本田携手阿里巴巴人工智能 老牌车企驶入新赛道
2023热门投影仪测评 看完就知道为什么国产投影仪越来越受欢迎了
印度与爱立信续签合同为Bharti Airtel提供和部署5G
PCB MIG(离子迁移)与CAF(玻纤纱阳极性漏电)现象分析
苹果13系统发布日期是什么时候
总结了美国四种常见的“零售+医疗”模式
WinCC和三菱Q系列以太网通讯的组态步骤
超华科技与振烨国际集团共同开创全新战略合作模式
中科曙光工业数智底座平台在宁夏亮相 助力工业数智化
人工智能时代即将到来 我们需深度思考的问题将变得更多