卸载mysql
之前服务器上一直是mysql8,因为不经常使用,而且8的内存占用还挺高的,所以想降低到5.7,腾出点运行内存
停止服务
shell
# 查询服务的状态
systemctl status mysqld
# 停止服务
systemctl stop mysqld
随后再次查询状态
查询文件mysql的文件所在位置:
shell
find / -name mysql
这个时间可能会比较长,如果命令行卡住不动的话,可能需要等等(我这里大概执行了40秒左右)
删除文件(这里一个一个删掉就行了,为了安全考虑)
shell
rm -rf /usr/lib64/mysql
rm -rf /usr/bin/mysql
rm -rf /etc/logrotate.d/mysql
rm -rf /var/lib/mysql
删除rpm
shell
# 查询rpm
rpm -qa | grep -i mysql
如果存在rpm源的话直接 一个一个都删除掉
shell
# 删除 rpm 命令 (--nodeps 后面跟上自己的rpm源就可以了)
rpm -e --nodeps mysql-community-common-8.0.29-1.el7.x86_64
以防万一最后可以验证下是否删除掉了
shell
[root@iZbp1ived2u2bflco3ty6Z mysql]# systemctl start mysql
Failed to start mysql.service: Unit not found.
表示删除成功
安装mysql5.7
首先获取mysql yum 镜像
查看系统版本
shell
cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
我这里是 centos 7.6
直接下载镜像
shell
mkdir /usr/local/mysql
cd /usr/local/mysql
# 拉取 rpm
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
# 执行 rpm
rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
# 下载mysql 5.7
yum install -y mysql-community-server
安装完毕后可以直接启动mysql了
相关命令
shell
# 启动服务
systemctl start mysqld.service
# 查看服务状态
systemctl status mysqld.service
# 停止服务
systemctl stop mysqld.service
# 重启服务
systemctl restart mysqld.service
登录mysql
方式一(临时密码)
启动成功之后最后会给一个临时密码,可以直接用这个临时密码登录
不过我比较点背,怎么都上不去,所以我采用了 Plan B!!!
方式二 (跳过密码skip-grant-tables)
进入 my.cnf配置文件中,随后添加跳过密码配置:skip-grant-tables
shell
vim /etc/my.cnf
# 按下 i 之后再最后一行添加 skip-grant-tables
# 按 Esc :wq 保存并退出
# 重启数据库
systemctl restart mysqld.service
# 随后直接登录
mysql -u root -p
# 按两下回车直接登录
如下表示登录成功
但是这个时候还是不能修改密码,会提示当前处于跳过密码模式
这里直接修改数据库模式
shell
# 设置全局只读
set global read_only=0;
# 刷新
flush privileges;
# 查看
show variables like '%read_only%';
随后就可以设置密码了,设置完成之后,退出数据库,随后将my.cnf中的跳过直接去掉,重启数据库即可!!
设置远程连接
shell
# 登录数据库
mysql -u root -p
# 查看数据库
show databases;
# 切换mysql
use mysql;
# 设置远程登录
update user set host = '%' where user = 'root';
# 刷新
flush privileges;
开机自启
shell
systemctl enable mysqld
systemctl daemon-reload