目录
1.打开终端,以root身份登录
确认系统是否已经安装了MySQL,可以使用以下命令进行确认:
rpm -qa | grep mysql
如果输出了MySQL的相关信息,则说明已经安装了MySQL,可以先使用以下命令卸载:
yum remove mysql*
2.添加MySQL官方的Yum仓库
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
3.安装MySQL
yum install mysql-community-server
出现如下错误
Downloading packages:
警告:/var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-libs-8.0.37-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID ***: NOKEY
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 检索密钥
源 "MySQL 8.0 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
失败的软件包是:mysql-community-libs-8.0.37-1.el7.x86_64
GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
导入密钥,重新安装
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
yum install -y mysql-community-server
注意:导入密钥的链接可能会随时间更新
Index of /232905https://repo.mysql.com/
4.启动MySQL服务
systemctl start mysqld
5.查询自动生成的root用户密码
grep 'temporary password' /var/log/mysqld.log
查询到以下结果,_EfXa:WiT3da为自动生成的密码
2024-05-28T00:41:29.593292Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: _EfXa:WiT3da
执行以下指令,完成Mysql登录:
mysql -u root -p _EfXa:WiT3da
6. 修改root用户密码
登录到MySQL之后,需要将自动生成的不便记忆的密码修改了,修改成自己熟悉的便于记忆的密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
提示如下报错,原因是密码不符合安全策略:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这时候需要先按要求修改为安全密码后,才可进行其他操作,不然会一直提示修改密码:
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY 'Qwe123!.';
如果需要修改简单密码,需要修改安全策略等级,如下操作:
# 查看密码策略
mysql> show variables like 'validate_password%';
+-------------------------------------------------+--------+
| Variable_name | Value |
+-------------------------------------------------+--------+
| validate_password.changed_characters_percentage | 0 |
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+-------------------------------------------------+--------+
8 rows in set (0.00 sec)
# 修改安装策略等级为 0
mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.01 sec)
mysql> show variables like 'validate_password%';
+-------------------------------------------------+-------+
| Variable_name | Value |
+-------------------------------------------------+-------+
| validate_password.changed_characters_percentage | 0 |
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | LOW |
| validate_password.special_char_count | 1 |
+-------------------------------------------------+-------+
8 rows in set (0.00 sec)
# 修改密码长度为 6
mysql> set global validate_password.length=6;
Query OK, 0 rows affected (0.00 sec)
# 再次尝试修改简单密码,提示执行成功。
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)
7. 创建用户
默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问,%
表示任何主机
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
8. 分配权限
grant all on *.* to 'root'@'%';
至此已经完成所有安装流程。