centos7卸载mysql5.7安装mysql8踩坑记

2024年7月17日 11:03 by wst

database

需求

* 卸载已有的MySQL5.7

* 安装MySQL8

现状

* MySQL5.7正在运行且有线上数据在里面;

* 系统为centos7;

* 登录的系统的用户为root;

安装步骤

1备份数据

mysqldump -h 127.0.0.1 -u root -p  jubaoyuan > jubaoyuan.sql

2卸载mysql5.7

# 查找mysql相关的包
rpm -qa | grep mysql
# 把找到的包全部卸载,这里举例一个,记得把找到的包全部卸载
sudo yum remove mysql57-community-release
# 执行下面的命令,把找到的目录全部删除
whereis mysql
# 删除找到的目录,这里举例一个,记得把找到的目录全部删除
rm -rf /usr/lib64/mysql/

3创建新用户

由于MySQL8不能用root用户启动(都是踩坑获得的经验),所以要新建一个用户,比如是admin,创建命令如下:

sudo useradd admin
sudo passwd admin

同时还要赋予这个用户sudo权限,需要编辑/etc/sudoers文件,编辑之前要先增加写入权限:

sudo chmod +w /etc/sudoers

然后打开这个文件,在root的下面添加一行;添加后的内容如下:

## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL
admin   ALL=(ALL)       ALL

4安装MySQL8

安装之前记得切换为admin用户:

su admin

然后执行下面的安装命令:

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
sudo yum install mysql-community-server --nogpgcheck -y
sudo systemctl start mysqld
sudo systemctl enable mysqld
# 查看初始密码
sudo grep 'temporary password' /var/log/mysqld.log
# 这一步是可选项,目的是加强mysql的安全性。
sudo mysql_secure_installation
# 一会输入刚才找到的密码,然后再输入要设置的新密码,要有一定的复杂度,否则通不过,参考下面的密码。

5创建数据库并导入备份数据

创建数据库:

create database jubaoyuan charset utf8MB4 collate utf8mb4_unicode_ci;
CREATE USER "root"@"%" IDENTIFIED BY "sljfljsdlfj"; 
grant all privileges on jubaoyuan.* to "root"@"%"; 
flush privileges;

导入备份数据:

# 登录mysql
mysql -uroot -p
# 切换到目标数据库
use jubaoyuan;
# 导入数据
source /home/admin/jubaoyuan.sql

 

-------------------------------------分割线-------------------------------------------------

至此,MySQL8的安装过程全部完毕,中间也是踩了很多坑才搞定;

这里分享个大家,如果还有其他问题请留言!


Comments(0) Add Your Comment

Not Comment!