0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子工程师 来源:未知 作者:李倩 2018-11-08 14:22 次阅读

之前写过一篇博客“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.See"systemctl status mysql.service"and"journalctl -xe"fordetails.

连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需要调整,这个不是重点,在此略过。

犹豫了一会,还是记录一下这个小小案例!虽然网上已有不少人总结这个,但是自己动手总结一下,印象也深刻一点!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据存储
    +关注

    关注

    5

    文章

    971

    浏览量

    50905
  • 数据库
    +关注

    关注

    7

    文章

    3799

    浏览量

    64375

原文标题:Ubuntu 上更改 MySQL 数据库数据存储目录

文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    详解Mysql数据库InnoDB存储引擎事务

    关于Mysql数据库InnoDB存储引擎事务的一点理解
    发表于 05-13 10:11

    labview插入数据MySQL数据库

    最近在用labview写入数据MySQL数据库遇到一个问题:(如图片所示)利用insert指令插入数据,为什么每次插入单个值都会新起一行
    发表于 12-26 16:52

    MySQL数据库Access存储读取SQL语句

    LabVIEW视频教程MySQL数据库Access存储读取SQL语句
    发表于 10-21 11:59

    mysql数据库存储路径怎么更改

    大家知道mysql数据库存储路径怎么更改吗?在初次安装mysql 的时候将数据库目录安装在了系统
    的头像 发表于 10-18 10:23 6512次阅读

    数据库教程之PHP访问MySQL数据库的理论知识详细说明

    本文档的主要内容详细介绍的是数据库教程之PHP访问MySQL数据库的理论知识详细说明包括了:1.phpMyAdmin的安装和使用,2.PHP操作数据库,3.
    发表于 06-17 17:06 15次下载

    华为云数据库-RDS for MySQL数据库

    华为云数据库-RDS for MySQL数据库 华为云数据库作为华为云的一款数据库产品,它主要是以MyS
    的头像 发表于 10-27 11:06 1519次阅读

    华为云数据库\-GaussDB for MySQL数据库

    华为云数据库-GaussDB for MySQL数据库 GaussDB是华为云自主研发的一款高性能关系型数据库,它完全兼容了MySQL,而且
    的头像 发表于 10-27 14:56 1258次阅读

    MySQL数据库管理与应用

    讨论MySQL数据库的管理和应用。 管理MySQL数据库 在管理MySQL数据库之前,我们需要了
    的头像 发表于 08-28 17:15 974次阅读

    什么是数据库?除了MySQL还有哪些数据库

    对于大多数项目,用 MySQL 等关系型数据库存储数据就足够了。但关系型数据库不是银弹!在某些场景下,比如要
    发表于 10-13 10:20 656次阅读
    什么是<b class='flag-5'>数据库</b>?除了<b class='flag-5'>MySQL</b>还有哪些<b class='flag-5'>数据库</b>?

    mysql是一个什么类型的数据库

    MySQL是一种关系型数据库管理系统(RDBMS),用于存储和管理大量结构化数据。它被广泛用于各种应用程序和网站的后端,包括电子商务平台、社交媒体网站、金融系统等等。
    的头像 发表于 11-16 14:43 1777次阅读

    数据库mysql基本增删改查

    MySQL是一种开源的关系型数据库管理系统,常用于Web应用程序的数据存储和管理。通过使用MySQL,用户可以进行
    的头像 发表于 11-16 16:35 1512次阅读

    MySQL数据库基础知识

    的基础知识,包括其架构、数据类型、表操作、查询语句和数据导入导出等方面。 MySQL 数据库架构 MySQL
    的头像 发表于 11-21 11:09 971次阅读

    mysql数据库基础命令

    MySQL是一个流行的关系型数据库管理系统,经常用于存储、管理和操作数据。在本文中,我们将详细介绍MySQL的基础命令,并提供与每个命令相关
    的头像 发表于 12-06 10:56 587次阅读

    数据库数据恢复—未开启binlog的Mysql数据库数据恢复案例

    mysql数据库数据恢复环境: 本地服务器,windows server操作系统 ,部署有mysql单实例,数据库引擎类型为innodb,
    的头像 发表于 12-08 14:18 1137次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—未开启binlog的<b class='flag-5'>Mysql</b><b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—Mysql数据库表记录丢失的数据恢复流程

    Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、
    的头像 发表于 12-16 11:05 136次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—<b class='flag-5'>Mysql</b><b class='flag-5'>数据库</b>表记录丢失的<b class='flag-5'>数据</b>恢复流程