centos mysql 更改datadir_centos7下安装mysql5.7(rpm)后如何修改数据目录datadir

本文介绍了在CentOS 7上如何卸载并重新安装MySQL 5.7,以更改数据目录datadir到/usr/local/mysql。详细步骤包括停止服务、修改配置文件、重新安装MySQL以及处理权限问题,最后验证datadir是否已更改。
摘要由CSDN通过智能技术生成

1若已经安装了mysql,则

先关闭mysql服务,然后卸载mysql-community-server-5.7.22-1.el7.x86_64

[root@mysql01 etc]# rpm -e --nodeps mysql-community-server-5.7.22-1.el7.x86_64

2找到mysql的配置文件  /etc/my.cnf

根据配置文件找到datadir的默认目录 默认是

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

修改成 datadir=/usr/local/mysql

socket=/var/lib/mysql/mysql.sock     # socket不要修改,只修改datadir

别的像socket等不要动

3 重新安装mysql-community-server-5.7.22-1.el7.x86_64

[root@mysql01 ~]# rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm

4 重新启动 mysql

重启mysql,启动不起来

[root@mysql01 local]# systemctl start mysqld.service

Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

[root@mysql01 local]#

扩展: 改变 某个文件夹或文件所属的用户和组(此文中用不到)

[root@mysql01 local]# chown -R mysql:mysql /usr/local/mysql/

查看日志文件 /var/log/mysqld.log ,发现报警告

[Warning] Can't create test file /usr/local/mysql/mysql01.lower-test

这是因为没有权限创建或读取文件。

解决办法就是使用setenforce 0 这个命令,让系统关闭权限校验,然后再运行命令 systemctl start mysqld.service 就ok了。

[root@mysql01 zookeeper-3.4.12]# getenforce

Enforcing

[root@mysql01 zookeeper-3.4.12]# setenforce 0

[root@mysql01 zookeeper-3.4.12]# getenforce

Permissive

更改之后,再启动mysql服务,就能启动起来了

[root@mysql01 zookeeper-3.4.12]# systemctl start mysqld.service

[root@mysql01 zookeeper-3.4.12]#

然后就是查找临时密码进行登录,登陆后重设密码什么的。

如果重设密码有问题,可查看我这篇文章,centos7下安装mysql5.7(rpm)里面有解决方案。

如何查询datadir是不是我们改过后的:使用mysql命令  select @@datadir;

cc5125b423cda9acbb4806ec958260ec.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值