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

    文章

    893

    浏览量

    50584
  • 数据库
    +关注

    关注

    7

    文章

    3590

    浏览量

    63365

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

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

收藏 人收藏

    评论

    相关推荐

    labview有调用mysql数据库问题????

    labview有调用mysql数据库,请问labview打包成exe安装档,怎么把mysql数据库打包进来,是mysql
    发表于 05-19 16:17

    【EVB-335X-II试用体验】之QT远程访问MySql数据库(交叉编译MySql QT客户端驱动程序及功能测试)

    的安全性、稳定性,采用业界通用的C/S开发模式。Server端,我采用PC机模拟数据库服务器,即通过Ubuntu虚拟机运行MySql数据库,配置Server端的
    发表于 07-04 00:28

    mysql数据库设计步骤

    mysql数据库设计和优化
    发表于 05-13 11:00

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

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

    mysql数据库发展流程概述

    mysql数据库基础知识
    发表于 07-15 11:26

    mysql数据库跑在docker

    在docker中使用MySQL数据库
    发表于 08-15 14:26

    MySQL数据库使用

    关于MySQL数据库的简单操作
    发表于 10-24 14:32

    labview插入数据MySQL数据库

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

    mySQL数据库介绍

    mySQL数据库01
    发表于 06-04 14:36

    Mysql数据库的基本操作

    Mysql数据库入门-基本操作
    发表于 06-08 17:18

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

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

    如何通过NodeMCU将传感器数据存储MySQL数据库

    本文将演示如何通过 基于 ESP8266 的 NodeMCU,把通过 DHT11 传感器搜集到的温、湿度数据通过 MQTT 协议将其存储MySQL 数据库,便于后续对
    发表于 11-03 08:34

    MYSQL数据库中大小写敏感是如何控制的

    名和表名的大小写敏感由参数lower_case_table_names控制,为0时表示区分大小写,为1时,表示将名字转化为小写后存储,不区分大小写。在mysql中,数据库对应数据
    发表于 10-21 14:35

    ESP8266如何连接mysql数据库

    各位大神,我试图用ESP8266 连接mysql ,将温湿度传感器的数据,写入数据库mysql数据库已建好,在局域网中的其他电脑也可以正常
    发表于 01-12 09:22

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

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