目录
MySQL8.0-Linux版安装
1.打开终端,以root身份登录。
确认系统是否已经安装了MySQL,可以使用以下命令进行确认:
rpm -qa | grep mysql
如果输出了MySQL的相关信息,则说明已经安装了MySQL,可以先使用以下命令卸载:
yum remove mysql*
2.添加MySQL官方的Yum仓库
# 创建一个目录
mkdir mysql
# 进入该目录
cd mysql
# 下载
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# 安装
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
3.安装MySQL 8
yum install mysql-community-server -y # 要在安装mysql80-community-release-el7-3.noarch.rpm 目录下执行
如果安装出现如下错误
警告:/var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-common-8.0.33-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 检索密钥
源 "MySQL 8.0 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
失败的软件包是:mysql-community-common-8.0.33-1.el7.x86_64
GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
导入密钥,重新安装
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install -y mysql-community-server
4.启动MySQL服务
systemctl start mysqld
5.查询自动生成的root用户密码
grep 'temporary password' /var/log/mysqld.log
命令行执行指令 :
mysql -u root -p
然后输入上述查询到的自动生成的密码, 完成登录 .
6. 修改root用户密码
登录到MySQL之后,需要将自动生成的不便记忆的密码修改了,修改成自己熟悉的便于记忆的密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
执行上述的SQL会报错,原因是因为设置的密码太简单,密码复杂度不够。我们可以设置密码的复杂度为简单类型,密码长度为6,不过在设置密码的类型之前,首先要设置符合mysql8.0的密码,不然会一直提示错误。
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY 'zl123456XB/';
Query OK, 0 rows affected (0.00 sec)
# 查看密码策略
mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| 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 |
+--------------------------------------+--------+
7 rows in set (0.00 sec)
# 设置类型为0
mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (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.01 sec)
7. 创建用户
默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问,%
表示任何主机
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
8. 并给root用户分配权限
grant all on *.* to 'root'@'%';
9. 重新连接MySQL
mysql -u root -p
然后输入设置的密码