Linux mysql8.0 修改data目录

mysql的存储目录默认是在/var/lib/mysql/

1.先停止mysql服务:service mysqld stop(或systemctl stop mysql
2.创建需要存放的目录位置并赋予权限
mkdir -p /data/mysqldata
chmod 775 /data/mysqldata

3.更新Mysql的AppArmor配置以允许MySQL访问新的数据目录
vim /etc/apparmor.d/usr.sbin.mysqld
最后一行添加(不过好像是在大括号里面的最后一行)
/data/mysqldata/mysql/ r,
/data/mysqldata/mysql/** rwk,

4.重新加载AppArmor 配置
systemctl reload apparmor

5.转移原有数据,这里使用cp进行复制(先进入到默认目录/var/lib/,将整个mysql目录进行复制;-a-r的区别是:-a会另外带上文件属性)
cp -a mysql /data/mysqldata/(或rsync -av /var/lib/mysql /data/mysqldata/
6.修改mysql的配置文件/etc/my.cnf:
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
datadir=/data/mysqldata/mysql
#socket=/data/mysqldata/mysql/mysql.sock

7.重启mysql服务
systemctl restart mysqld

8.用户登录mysql -uroot -p 输入密码。
如果提示错误:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
则添加软连接(虽然你在配置文件中指定了mysql.sock的位置,但是他还是会去另外的地方找的话,你就软连接一下吧)
ln -s /data/mysqldata/mysql/mysql.sock /var/lib/mysql/mysql.sock
然后再mysql -uroot -p登录试试

 

发布者:songJian   点击数:671   发布时间:2022-09-06 19:13:09   更新时间:2023-03-13 13:07:59
正在加载评论...
相关文章