centos rpm方式安装mysql8.x

离线环境下安装mysql8.x ,本次安装选择的包是mysql8.0.27

1.安装包下载

下载链接:

MySQL :: Download MySQL Yum Repository

2.将安装包上传到centos7服务器解压

tar -xvf mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar

 

 

3.安装前环境检测

1.mariadb为mysql分支,一些Linux分发版就将mariadb作为系统默认安装的数据库系统

rpm -qa | grep -i mariadb

可能结果显示

mariadb-libs-5.5.65-1.el7.x86_64

去除依赖

rpm -ev  --nodeps mariadb-libs-5.5.65-1.el7.x86_64

 

2.libaio

rpm -qa|grep libaio

如果无依赖需要安装

yum install libaio -y

3.net-tools

rpm -qa|grep net-tools

如果无依赖需要安装

yum install net-tools -y

 

 

4.按顺序安装

按照顺序安装

复制代码
rpm -ivh mysql-community-common-8.0.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-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
复制代码

第三个出现错误

 

需要解除之前安装过的依赖即可,执行命令

yum remove mysql-libs -y

第五个安装出现错误

 

 需要安装libnuma依赖,执行命令

yum install libnuma* -y

检查安装

 

 

rpm -qa|grep -i mysql

 

 5个安装包均已安装

5.启动与修改密码

启动
systemctl start mysqld
查看状态
systemctl status mysqld

 

 

 查看初始随机密码

cat /var/log/mysqld.log | grep password

root登录,使用密码

mysql -u root -p

初始登陆后修改密码

ALTER user 'root'@'localhost' IDENTIFIED BY '123456';

6.开放远程登录

use mysql;

select host,user from user;

update user set host='%' where user ='root';

grant all privileges on *.* to 'root'@'%' with grant option;

刷新权限

flush privileges;

远程连接"caching_sha2_password"报错

由于mysql8.0的加密方法变了。mysql8.0默认采用caching_sha2_password的加密方式。sqlyog不支持这种加密方式。

1.修改密码过期(可不执行)
ALTER USER'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
2.修改规则 ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
3.刷新权限(不做可能无法生效) FLUSH PRIVILEGES;

7.开放防火墙端口

开启root远程登录权限后,还无法直接被外界连接,因为MySQL的端口号3306在Linux中默认关闭的。

注意:使用阿里云等云服务器还需要在控制台中安全组策略打开端口,此处省略。
查询3306端口是否开启

 firewall-cmd --query-port=3306/tcp

开启3306

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重新加载防火墙

firewall-cmd --reload

8.密码规则设置

查看密码规则

SHOW VARIABLES LIKE 'validate_password.%';

validate_password.policy的值

可以使用数字值0、1、2或相应的符号值LOW,MEDIUM,STRONG来指定validate_password.policy值

PolicyTests 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

 

如果想使用类似于123456形式的简单密码,需要更改密码规则和密码长度

mysql8.0及以后的版本

set global validate_password.policy=0;

set global validate_password.length=1;

实际上,密码长度即使设为1,其最小长度也不会小于下面函数的值,即默认长度始终不会小于4

validate_password.number_count+ validate_password.special_char_count+ (2 * validate_password.mixed_case_count)

5.7及以前版本

set global validate_password_policy=0;

set global validate_password_length=1;

9.更改密码

ALTER user 'root'@'localhost' IDENTIFIED BY '新密码';

 

 

posted @   suphowe  阅读(325)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示

目录导航