Linux centos 7.4安装Mysql8.0.11并配置

时间:2018-11-10
本文章向大家介绍Linux centos 7.4安装Mysql8.0.11并配置,需要的朋友可以参考一下

#*.rpm介绍

大多数二进制rpm包都包含在名称中倒数第二个字段中编译rpm的体系结构。.rpm软件包有那么几种

*.src.rpm 源程序包,要先通过编译才能安装

*.noarch.rpm 该包适用于任何架构

*.i*86.rpm 该包适用于intel cpu的电脑上运行

*.amd64.rpm 该包适用于amd64 cpu的电脑上运行

mysql各种源 传送门 https://repo.mysql.com/

在这里,我选择mysql80-community-release-el7-1.noarch.rpm

======================================================================================

1.登录阿里云服务器

 

2.下载源到服务器

mkdir mysql
cd mysql
wget https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm

3.安装下载的发行包

rpm -Uvh mysql80-community-release-el7-1.noarch.rpm

4.安装Mysql

yum install mysql-community-server

5.启动Mysql

service mysqld start

检查Mysql状态 : service mysqld status

6.查看Mysql密码

新版mysql安装之后会生成root用户的密码,该密码存储在 /var/log/mysqld.log中,使用grep命令查看密码。

grep 'temporary password' /var/log/mysqld.log

拷贝密码备用,登录mysql

7.登录mysql及配置

7.1.登录和修改密码

mysql -u root -p

必须先进行修改密码。注意mysql的密码策略已经更改为中等,需要包括大小写字母、数字、特殊字符

此处先修改为临时密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Abc.123!';

查看密码策略

show variables like '%password%';

在图上可看出,密码策略的长度最少为8位,密码强度为medium。但实际开发中,我们只是用来做开发,于是设置简单密码。

调整密码策略的长度为6和密码强度设置为低。

set global validate_password.policy=LOW;
set global validate_password.length=6;

执行完成之后可以修改简单密码了。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc.123';

7.2.开启mysql远程连接功能

 *需要新建可远程连接的root用户,然后再授权。直接授权会抛出异常。

CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;

7.3.调整root@'%'的身份认证方式

*当时用sqlyog连接mysql时,会抛出如下错误。

这是因为mysql8.0更换了认证方式,这是,需要调整回mysql_native_password即可

ALTER USER 'root'@'%'IDENTIFIED WITH mysql_native_password  BY 'abc.123';

 7.4验证结果

8.**忘记root密码,重置mysql密码

8.1改配置让mysql免密码登录

vi /etc/my.cnf

在配置文件中加入,skip-grant-tables 跳过mysql权限

8.2重启mysql服务

service mysqld restart

8.3进入mysql及改密码

mysql -u root
use mysql;
update user set authentication_string='' where user='root' and host='localhost';

8.4退出mysql,在配置文件中注释跳过mysql权限

vi /etc/my.cnf

重启mysql服务

service mysqld restart

8.5进入mysql,并正常重置密码

mysql -u root
set global validate_password.policy=LOW;
set global validate_password.length=6;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc.123';