一、MySQL介绍
1.1 MySQL简介
MySQL 8.0 是最新版本的 MySQL 数据库管理系统,是一种关系型数据库管理系统,由 Oracle 公司开发和维护。MySQL 8.0 带来了一系列新特性,包括多个性能提升,更好的安全性和扩展性,以及新的管理功能。
1.2 MySQL特点
更好的性能:MySQL 8.0 提供了对于大型查询和事务处理的更好的性能支持。它引入了新的索引类型,如哈希索引,以提供更快的查询操作。
更好的安全性:MySQL 8.0 引入了更好的密码验证规则,以保证用户账户的安全性。它还支持更强的加密,如 TLS 和 SSL。此外,它还提供了更好的访问控制机制,如基于角色的访问控制。
更好的扩展性:MySQL 8.0 引入了新的数据字典架构,它使用了更高效的内存表来缓存表元数据信息,以提高性能。
新的管理功能:MySQL 8.0 引入了新的管理功能,如 InnoDB 集成的全文搜索、更好的在线DDL 和 JSON 支持。
本次使用Linux系统为Centos7.9
二、卸载mariadb数据库
2.1 卸载mariadb数据库
如果系统上已安装有maraidb数据库,需要卸载mariadb:
查看是否安装命令:
rpm -qa |grep maraidb*
yum remove mariadb* -y
删除maraidb的相关文件:
rm -rf /etc/my.cnf
rm -rf /var/lib/mysql/
2.2 卸载mysql数据库
如果系统已安装有其他版本的mysql,需提前卸载清空环境。
查看是否安装:
rpm -qa |grep mysql*
yum -y remove mysql*
删除相关文件:
rm -rf /etc/my.cnf
rm -rf /var/lib/mysql/
rm -rf /var/log/mysqld.log
三、配置yum仓库
3.1 下载rpm文件
下载mysql80-community-release-el7-7.noarch.rpm
wget https://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm
查看是否成功下载:
3.2 配置yum仓库
配置mysql的yum仓库
sudo rpm -Uvh mysql80-community-release-el7-7.noarch.rpm
进入yum源配置目录下,查看是否安装repo文件是否安装完成:
cd /etc/yum.repos.d
一般现在mysql-community.repo默认下载都是mysql 8.0版本;
yum -y install mysql-community-server
开始安装mysql 8.0版本;如果在安装过程中有出现以下问题,则需要把mysql-community.repo文件中的pgp校验关闭掉,然后在执行下安装命令即可;
3.3 启动mysql服务
启动mysql服务,并设置开机自启。
systemctl enable --now mysqld
3.4 检查mysql服务状态
检查mysql服务状态
systemctl status mysqld
四、mysql的初始配置
4.1 获取登录密码
获取随机生成的登录密码
grep 'temporary password' /var/log/mysqld.log
4.2 本地登录mysql
本地使用生成的随机密码,登录mysql。
mysql -uroot -p
6.3 修改本地用户密码
修改本地用户’root’@‘localhost’ 的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Qwer123..';
设置用户密码策略的安全强度:
set global validate_password.policy=LOW;
设置密码长度不少于4
set global validate_password.length=4;
查看密码策略
SHOW VARIABLES LIKE 'validate_password%';
- LOW:只验证长度;
- MEDIUM:验证长度、数字、大小写、特殊字符;
- STRONG:验证长度、数字、大小写、特殊字符、字典文件;
密码策略相关内容可参考:https://blog.csdn.net/qf0129/article/details/127805607