centos7默认安装mysql修改数据文件存储目录及[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable解决

修改mysql数据目录(datadir)

今天在项目上发现一个问题,mysql是使用rpm默认安装的,数据文件在/var/lib/mysql目录下,如果数据库文件一直增大会导致紫磁盘空间不够,所以希望将数据目录迁移到/u01目录下。

  1. 首先停掉mysql服务:
    service mysqld stop
  2. 在/u01目录下创建./mysql/databse目录
    mkdir mysql/databse
  3. 为创建的目录指定权限
    chmod -R 777 /u01/mysql/databse/*
    chown -R mysql.mysql /u01/mysql/databse/*
  4. 将原来默认目录的数据目录的所有文件拷贝至新目录
    cp -r /var/lib/mysql/* /u01/mysql/database/
  5. 修改配置文件
    vi /etc/my.cnf
#datadir=/var/lib/mysql
datadir=/u01/mysql/database
#socket=/var/lib/mysql/mysql.sock
socket=/u01/mysql/database/mysql.sock
  1. 启动mysql
    service mysqld start
  2. 但是在启动的时候会报一个错
    [ERROR] InnoDB: The innodb_system data file ‘ibdata1’ must be writable

这个错应该是说对ibdata1文件没有写权限,但是前面已经对新数据目录授权了,所以这里应该不是这里的问题。百度的解决方法基本都是修改权限。。。

后来经过FQ查资料在一个ubuntu论坛里面发现,他们也有类似的问题
国外老哥一样的问题
但是这里面说的AppArmor这个安全组件在centOS里没有找到,所以联想到centOS会不会有类似的安全控制器,后来发现AppArmor这个玩意就是简化版的SELinux,然后我突然意识到我应该怎么做。
大家有兴趣也可以了解一下这两个东东
apparmor和selinux的恩怨情仇

setenforce 0(1为强制模式enforcing,0为宽容模式permissive)
其实还有一个模式disabled,但是只能在配置文件中改
编辑/etc/selinux/config,设置SELINUX=permissive(宽容模式)

然后再次启动mysql,万事大吉~~~~

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值