2024年7月17日 11:03 by wst
database* 卸载已有的MySQL5.7
* 安装MySQL8
* MySQL5.7正在运行且有线上数据在里面;
* 系统为centos7;
* 登录的系统的用户为root;
mysqldump -h 127.0.0.1 -u root -p jubaoyuan > jubaoyuan.sql
# 查找mysql相关的包
rpm -qa | grep mysql
# 把找到的包全部卸载,这里举例一个,记得把找到的包全部卸载
sudo yum remove mysql57-community-release
# 执行下面的命令,把找到的目录全部删除
whereis mysql
# 删除找到的目录,这里举例一个,记得把找到的目录全部删除
rm -rf /usr/lib64/mysql/
由于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
安装之前记得切换为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
# 一会输入刚才找到的密码,然后再输入要设置的新密码,要有一定的复杂度,否则通不过,参考下面的密码。
创建数据库:
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的安装过程全部完毕,中间也是踩了很多坑才搞定;
这里分享个大家,如果还有其他问题请留言!