centos7 下mysql8 的安装

667 阅读3分钟

一、准备工作(新机跳过)

1、查看是否安装过mysql

rpm -qa | grep -i mysql

2、删除mysql

yum -y remove MySQL-*

一般用rpm -e 的命令删除mysql,这样表面上删除了mysql,可是mysql的一些残余程序仍然存在,并且通过第一步的方式也查找不到残余,而yum命令比较强大,可以完全删除mysql.(ps:用rpm删除后再次安装的时候会提示已经安装了,这就是rpm没删除干净的原因)

3、把所有出现的目录统统删除

find / -name mysql

查找mysql的一些目录,把所有出现的目录删除,可以使用rm -rf 路径,删除时请注意,一旦删除无法恢复。

4、删除配置文件

rm -rf /etc/my.cnf

5、删除mysql的配置密码

rm -rf /root/.mysql_sercret

删除mysql的默认密码,如果不删除,以后安装mysql这个sercret中的默认密码不会变,使用其中的默认密码就可能会报类似Access denied for user ‘root@localhost’ (using password:yes)的错误.

二、安装mysql8

1、下载命令

不使用yum安装官方mysql,下载tar包进行解压比较好。

dev.mysql.com/downloads/m…

[root@localhost softhere]# tar -xvf mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar  -C /opt/module/
mysql-community-client-8.0.22-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.22-1.el7.x86_64.rpm
mysql-community-common-8.0.22-1.el7.x86_64.rpm
mysql-community-devel-8.0.22-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.22-1.el7.x86_64.rpm
mysql-community-libs-8.0.22-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm
mysql-community-server-8.0.22-1.el7.x86_64.rpm
mysql-community-test-8.0.22-1.el7.x86_64.rpm
[root@localhost softhere]# 

2、安装common

[root@localhost module]# rpm -ivh mysql-community-common-8.0.22-1.el7.x86_64.rpm 
警告:mysql-community-common-8.0.22-1.el7.x86_64.rpm:V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-common-8.0.22-1.e################################# [100%]
[root@localhost module]# 

3、安装libs

[root@localhost module]# rpm -ivh mysql-community-common-8.0.22-1.el7.x86_64.rpm 
警告:mysql-community-common-8.0.22-1.el7.x86_64.rpm:V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-common-8.0.22-1.e################################# [100%]
[root@localhost module]# rpm -ivh mysql-community-libs-8.0.22-1.el7.x86_64.rpm --nodeps --force
警告:mysql-community-libs-8.0.22-1.el7.x86_64.rpm:V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-libs-8.0.22-1.el7################################# [100%]
[root@localhost module]# 

4、安装client

[root@localhost module]# rpm -ivh mysql-community-client-8.0.22-1.el7.x86_64.rpm --nodeps --force
警告:mysql-community-client-8.0.22-1.el7.x86_64.rpm:V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-client-8.0.22-1.e################################# [100%]
[root@localhost module]# 

5、安装server

[root@localhost module]# rpm -ivh mysql-community-server-8.0.22-1.el7.x86_64.rpm --nodeps --force
警告:mysql-community-server-8.0.22-1.el7.x86_64.rpm:V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-server-8.0.22-1.e################################# [100%]
[root@localhost module]# 

6、通过 rpm -qa | grep mysql 命令查看 mysql 的安装包

[root@localhost module]# rpm -qa | grep mysql 
mysql-community-libs-8.0.22-1.el7.x86_64
mysql-community-common-8.0.22-1.el7.x86_64
mysql-community-client-8.0.22-1.el7.x86_64
mysql-community-server-8.0.22-1.el7.x86_64
[root@localhost module]# 

7、通过以下命令,完成对 mysql 数据库的初始化和相关配置

mysqld --initialize;

chown mysql:mysql /var/lib/mysql -R;

systemctl start mysqld.service;

systemctl enable mysqld;

[root@localhost module]# mysqld --initialize
[root@localhost module]# chown mysql:mysql /var/lib/mysql -R
[root@localhost module]# systemctl start mysqld.service
[root@localhost module]# systemctl enable mysqld
[root@localhost module]# 

8、通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码

[root@localhost module]# cat /var/log/mysqld.log | grep password
2020-10-22T08:06:16.367199Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: TSKEh,g);8o1
[root@localhost module]# 

9、通过 mysql -uroot -p 敲回车键进入数据库登陆界面

[root@localhost module]# mysql -uroot -p
Enter password: 

10、输入之前的密码

11、通过 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 命令来修改密码。修改完成后,exit 退出重新登陆

如果root用户失败,创建新用户来登录

mysql> create user 'leilei'@'%' identified by 'leilei';

Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on . to 'leilei'@'%'; Query OK, 0 rows affected (0.00 sec)

12、通过以下命令,进行远程访问的授权

1create user 'root'@'%' identified with mysql_native_password by 'root';
2grant all privileges on *.* to 'root'@'%' with grant option;
3、
flush privileges;

13、通过 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; 命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;

14、通过 flush privileges; 命令刷新修该后的权限

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

15、退出后,用sqlyog发现连接成功