一.更改centos7的yum源
#1.1安装wget
yum install -y wget
#1.2备份原文件
cp /etc/yum.repos.d/CentOS-Base.repo /tmp
#1.3下载CentOS 7的repo文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#最小化安装,如果没有wget的命令,可使用curl代替wget,执行如下语句代替:
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#1.4更新镜像源
#清除缓存
yum clean all
#生成缓存
yum makecache
#1.5找到yum源的配置路径
cd /etc/yum.repos.d/CentOS-Base.repo
ls
#打开CentOS-Base.repo文件:
vi CentOS-Base.repo
#1.6更新yum
yum update
二、安装 MySQL 数据库
1 查看所有版本
使用 MySQL Yum
存储库时,默认情况下会选择要安装的最新
GA
版本
MySQL
。默认启用最新
GA 系列(当前为MySQL 8.0
)的子存储库,而所有其他系列(例如,
MySQL 5.7
系列)的子存储库均 被禁用。查看已启用或禁用了存储库。
通过
yum list | grep mysql
得到yum服务器上mysql数据库的可下载版本信息
![](https://i-blog.csdnimg.cn/blog_migrate/dabe843ad845e80ceb8ea02f53f1ee97.png)
2 安装 MySQL
安装MySQL Server, MySQL client
已经包括在
server
套件内
2.1 安装 MySQL Repository
# 下载 mysql 官方 yum 源
wget https://repo.mysql.com/mysql57-community-release-el7- 11.noarch.rpm
# 安装 mysql 官方 yum 源
yum -y localinstall mysql57-community-release-el7- 11.noarch.rpm
如果下载失败则前往mysql官网下载下载 MySQL Yum 存储库
![](https://i-blog.csdnimg.cn/blog_migrate/233c2df170fd497b09ca00703ae34629.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b1357eb6d035e93b9466171e5760ee9a.png)
yum install -y lrzsz
#上传到linux
rz
#安装mysql官方rpm包
yum -y localinstall mysql57-community-release-el7- 11.noarch.rpm
#检查
yum repolist all | grep mysql
2.2 安装 yum 配置工具
yum -y install yum-utils
2.3 禁用 8.0 系列的子存储库并启用 5.7 系列的子存储库
#/etc/yum.repos.d/mysql-community.repo中的mysql8.0的enabled把1改0
yum-config-manager --disable mysql80-community
#/etc/yum.repos.d/mysql-community.repo中的mysql57的enabled把0改1
yum-config-manager --enable mysql57-community
2.4 检查启用版本,并进行安装服务
#进行安装时请确保只有一个版本启用,否则会显示版本冲突
yum repolist enabled | grep mysql
#安装服务端,客户端
yum -y install mysql-community-server mysql
#启动 mysql 服务
systemctl start mysqld
# 设置 mysql 服务开机启动
systemctl enable mysqld
# 查看 mysql 安装
ls /var/lib/mysql
2.5 获取临时密码登录
# 获取首次登录密码,如果执行失败,可以菜cd /var/log/mysqld.log 去查看password
grep 'tqfeduorary password' /var/log/mysqld.log
# 登录mysql数据库
mysql -uroot -p'临时密码'
2.6 修改root密码
# 修改mysql数据库密码(密码必须符合复杂性要求,包含字母大小写,数字,特赦符号,长度不少于8位)
alter user 'root'@'localhost' identified by '新密码';
# 用新密码登录数据库(-u后边是用户名 -p后边是密码 )
mysql -uroot -p'新密码'
#重新启动
systemctl restart mysqld
三、问题解决
例如:
1 在修改密码时mysql报错。
1 、 validate_password_policy代表的密码策略,可配置的值有以下:默认是MEDIUM0 or LOW 仅需需符合密码长度(由参数 validate_password_length 指定)1 or MEDIUM 满足 LOW 策略,同时还需满足至少有 1 个数字,小写字母,大写字母和特殊字符2 or STRONG 满足MEDIUM 策略,同时密码不能存在字典文件( dictionary file )中2 、 validate_password_dictionary_file用于配置密码的字典文件,当validate_password_policy 设置为 STRONG 时可以配置密码字典文件,字典文件中存在的密码不得使用。3 、 validate_password_length用来设置密码的最小长度,默认值是8 最小是 04 、 validate_password_mixed_case_count当validate_password_policy 设置为 MEDIUM 或者 STRONG 时,密码中至少同时拥有的小写和大写 字母的数量,默认是1 最小是 0 ;默认是至少拥有一个小写和一个大写字母。5 、 validate_password_number_count当validate_password_policy 设置为 MEDIUM 或者 STRONG 时,密码中至少拥有的数字的个数,默 认1 最小是 06 、 validate_password_special_char_count当validate_password_policy 设置为 MEDIUM 或者 STRONG 时,密码中至少拥有的特殊字符的个 数,默认1 最小是 0
#0 问题复现
#输入alter user 'root'@'localhost' identified by '新密码';
#原因分析结果是密码不符合复杂性
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
#1 查看密码策略
# 查看密码复杂性策略
select @@validate_password_policy;
# 查看密码复杂性要求密码最低长度大
select @@validate_password_length;
#2 更换符合复杂性要求的密码
# 关闭密码复杂性策略
set global validate_password_policy=0;
# 设置密码复杂性要求密码最低长度为
set global validate_password_length=6;
#再次修改密码
alter user 'root'@'localhost' identified by '新密码';
#3 在设置后可以再次修改为你想要的长度的密码
set global validate_password_length=6;
alter user 'root'@'localhost' identified by '123456';
#刷新MySQL的系统权限
FLUSH PRIVILEGES;
mysql密码复杂度配置可查看这一篇文章:Linux 配置MySQL密码复杂度