centos7下安装mysql5.7(rpm)后如何修改数据目录datadir

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wudinaniya/article/details/82979645

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;

猜你喜欢

转载自blog.csdn.net/wudinaniya/article/details/82979645