centos 7 安装mysql 8.0
下载mysql包
解压安装包
powershell
tar -xvf mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar -C /目录
卸载系统以前安装的mysql
shell
[root@localhost ~] rpm -qa | grep mariadb
mariadb-libs-5.5.64-1.el7.x86_64
[root@localhost ~] rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
[root@localhost ~] rpm -qa | grep mariadb
[root@localhost ~] reboot
安装mysql
shell
rpm -ivh mysql-community-client-plugins-8.0.27-1.el7.x86_64.rp
rpm -ivh mysql-community-common-8.0.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.27-1.el7.x86_64.rpm
如果有如下错误
shell
[root@liunx1 mysql]# rpm -ivh mysql-community-client-plugins-8.0.27-1.el7.x86_64.rpm
警告:mysql-community-client-plugins-8.0.27-1.el7.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
软件包 mysql-community-client-plugins-8.0.27-1.el7.x86_64 已经安装
[root@liunx1 mysql]# rpm -ivh mysql-community-common-8.0.27-1.el7.x86_64.rpm
警告:mysql-community-common-8.0.27-1.el7.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
软件包 mysql-community-common-8.0.28-1.el8.x86_64 (比 mysql-community-common-8.0.27-1.el7.x86_64 还要新) 已经安装
则执行如下进行卸载
shell
rpm -e mysql-community-common-8.0.28-1.el8.x86_64 --nodeps
如果安装出现
shell
[root@localhost opt]# rpm -ivh /opt/server/mysql-community-common-8.0.19- 1.el7.x86_64.rpm
警告:/opt/server/mysql-community-common-8.0.19-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-common-8.0.19-1.e################################# [100%]
则依次执行如下命令
shell
yum search perl
yum search libaio
yum search net-tools
yum -y install perl.x86_64
yum install -y libaio.x86_64
yum -y install net-tools.x86_64
在安装mysql-community-server-8.0.27-1.el7.x86_64.rpm
shell
rpm -ivh mysql-community-server-8.0.27-1.el7.x86_64.rpm
启动并检查mysql服务
shell
#启动mysql
systemctl start mysqld
#查看服务状态
systemctl status mysqld
[root@liunx1 mysql]# systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 六 2024-03-09 10:25:37 CST; 2min 14s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 1946 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 2024 (mysqld)
Status: "Server is operational"
Tasks: 37
Memory: 477.6M
CGroup: /system.slice/mysqld.service
└─2024 /usr/sbin/mysqld
登录mysql服务
shell
[root@localhost opt]# mysql -u root -p
Enter password:
【注意】初始密码在 /var/log/mysqld.log中可以查看到
修改root用户密码
注意: 第一次登录必须要修改初始密码之后才能对数据库进行操作
shell
# 修改用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Alvin.123456';
临时修改用户密码策略并添加用户
- 密码策略
validate_password.policy 值可以使用数值 0、1、2 或相应的符号值 来指定,。下表描述了为每个策略执行的测试:
Policy | Tests Performed |
---|---|
0 or LOW | Length |
1 or MEDIUM | Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG | Length; numeric, lowercase/uppercase, and special characters; dictionary file |
shell
#查看密码验证策略
show variables like 'validate_password.%';
#修改密码策略
set global validate_password.policy=0;
set global validate_password.length=6;
# 创建root@%用户
create user 'root'@'%' identified by '123456';
#修改密码验证方式,让低版本的navicat通过验证
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 授权用户最高权限
grant all privileges ON *.* TO 'root'@'%' with grant option;
# 修改root@localhost用户密码为123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
#刷新权限
flush privileges;