ubuntu修改mysql 5.7 数据存储目录datadir



环境 Ubuntu 16.04 mysql5.7


在16.04版本的mysql数据库,默认是5.7版本的;

想要修改MySQL数据库存储的目录, 需要了解mysql配置文件,以及apparmor的配置文件

这里提一下apparnor 是控制访问权限的, 而mysql依赖它, 所以不单单是改完mysql配置文件的内容,

同样的需要修改apparmor的相应的配置文件


1.创建MySQL另外存储的目录

mkdir /database/mysql

chmod 700 /database/mysql

chowd mysql:mysq /database/mysql


2.将以前的数据库复制到新的存储目录 (这样避免了再次初始化,并且数据还在)

cp -av /var/lib/mysql/* /database/mysql


3.删除日志 (不删除会报错)

rm -rf /database/mysql/ib_logfile0

rm -rf /database/mysql/ib_logfile1


4.修改my.cnf

vim /etc/mysql/my.cnf

修改datadir=/var/lib/mysql 为你需要修改的目录 这里是 datadir=/database/mysql


5.修改apparmor的配置文件use.sbin.mysqld 

vim /etc/apparmor/usr.sbin.mysqld

  /var/lib/mysql/ r,
  /var/lib/mysql/** rwk,

修改为
  /database/mysql/ r,
  /database/mysql/** rwk,


6.reload apparmor的配置 并重启(这里不要停止apparmor服务,因为我在测试的时候关闭以后修改配置文件后反到是不成功, 直接修改后reload 然后重启)

service apparmor reload 

service apparmor restart 


7.重启mysql

service mysql restart


如果启动不了, 查看/var/log/mysql/error.log

如果出现: InnoDB: The innodb_system data file 'ibdata1' must be writable 请仔细核对第5步,第六步

如果出现启动成功,但是测试新建数据库还是在原来的目录, 试试重启服务器,或者仔细查看mysql配置文件,提醒一下 并不需要更改/usr/share/mysql/mysql-systemd-start 脚本中的datadir变量

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值