Ubuntu修改Mysql8.0的数据存储位置

sudo su 切换root用户)

1、查看当前数据库存储路径

mysql -uroot -p
mysql> show variables like 'datadir';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.01 sec)

2、创建新的存储路径,并将MySQL的数据复制到新的目录中

cd /data/mysql
mkdir  /mysqldb
cp -ar /var/lib/mysql /data/mysql/mysqldb 
#(复制后数据存储路径实际为mysqldb下的mysql文件夹)
chown -R mysql:mysql /data/mysql/mysqldb/mysql

3、停止mysql服务

service mysql stop

4、修改MySQL的配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf

修改datadir为新的mysql存储路径:

datadir		= /data/mysql/mysqldb/mysql

5、修改安全保护文件

vim /etc/apparmor.d/usr.sbin.mysqld

修改# data dir access下的文件路径:

   #Allow data dir access
  /data/mysql/mysqldb/mysql/ r,
  /data/mysql/mysqldb/mysql/** rwk,

在这里插入图片描述

6、修改mysql访问控制文件

vim /etc/apparmor.d/abstractions/mysql


/var/lib/mysql{,d}/mysql{,d}.sock rw,
改成

/data/mysql/mysqldb/mysql{,d}/mysql{,d}.sock rw,

在这里插入图片描述
最初跳过这一步报错:
在这里插入图片描述
cat /var/log/mysql/error.log查看错误日志,发现是权限错误(目前还不确定是chmod还是/etc/apparmor.d/abstractions/mysql导致的):
在这里插入图片描述
使用:

chmod -R 777 /data
chown -R mysql /data/mysql/mysqldb/mysql 

(这一步其实已经配置了,不知道之前是否生效)

修改文件权限,并修改/etc/apparmor.d/abstractions/mysql后,重启服务。

7、重启服务

service apparmor reload
service apparmor restart #(/etc/init.d/apparmor start)
service mysql restart

不报错即可。

8、查看是否启动成功

ps -ef | grep mysql
在这里插入图片描述

9、登录

mysql -uroot -p

登录成功。

参考资料:
https://www.cnblogs.com/conpi/p/16631512.html
https://www.cnblogs.com/xiaojikuaipao/p/16284172.html
http://t.csdn.cn/ZQC6D
https://www.jianshu.com/p/2310d1e56588
https://blog.csdn.net/qq_34340582/article/details/129054811

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值