一、前期准备
查看系统中是否已经安装了mysql数据库
rpm -qa | grep mysql
已经安装就卸载
rpm -e --nodeps 要卸载的软件名称
二、下载与安装
下载图示对应的安装包

上传到服务器 /usr/local目录中(本人习惯放在这里目录,你们也可以放到/opt目录中)

解压压缩文件
tar -xvf mysql-8.0.28-1.el8.x86_64.rpm-bundle.tar
安装MySQL,MySQL的各安装包之间有联系,所以必须按照以下顺序执行命令
rpm -ivh mysql-community-common-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.28-1.el8.x86_64.rpm
注意
执行rpm -ivh mysql-community-server-8.0.28-1.el8.x86_64.rpm ,有可能会报错。
libaio.so.1()(64bit) 被 mysql-community-server-8.0.18-1.el7.x86_64 需要
libaio.so.1(LIBAIO_0.1)(64bit) 被 mysql-community-server-8.0.18-1.el7.x86_64 需要
libaio.so.1(LIBAIO_0.4)(64bit) 被 mysql-community-server-8.0.18-1.el7.x86_64 需要
这是因为mysql环境依赖部分缺失,下面做一个部分总结
perl(JSON) 被 mysql-community-test-8.0.18-1.el7.x86_64需要
yum install perl-JSON
perl(Data::Dumper) 被 mysql-community-test-8.0.18-1.el7.x86_64 需要
yum install -y perl
libaio.so.1()(64bit) 被 mysql-community-server-8.0.18-1.el7.x86_64 需要
libaio.so.1(LIBAIO_0.1)(64bit) 被 mysql-community-server-8.0.18-1.el7.x86_64 需要
libaio.so.1(LIBAIO_0.4)(64bit) 被 mysql-community-server-8.0.18-1.el7.x86_64 需要
yum install libaio
mariadb-libs 被 mysql-community-libs-8.0.18-1.el7.x86_64 取代
mariadb-libs 被 mysql-community-libs-compat-8.0.18-1.el7.x86_64 取代
yum remove mysql-libs
pkgconfig(openssl) 被 mysql-community-devel-8.0.18-1.el7.x86_64 需要
yum install openssl-devel
重新执行rpm -ivh mysql-community-server-8.0.28-1.el8.x86_64.rpm 命令
报mariadb-libs被取代,执行
yum remove mysql-libs
安装成功!
三、配置及使用mysql
初始化mysql
mysqld --initialize --console
添加MySQL用户及用户组权限
chown -R mysql:mysql /var/lib/mysql/
启动MySQL
systemctl start mysqld
查看MySQL启动时的临时密码:
cat /var/log/mysqld.log |grep localhost

使用临时密码登录数据库
mysql -u root -p

MySQL8.0版本后的安全策略改变,没有办法直接设置简单密码,如果要设置简单密码,需要调整安全策略
四、查看及修改密码安全策略
show variables like 'validate_password%';

各个策略解读
|
validate_password_check_user_name OFF |
设置为ON的时候表示能将密码设置成当前用户名。 |
|
validate_password_dictionary_file |
用于检查密码的字典文件的路径名,默认为空 |
|
validate_password_length 8 |
密码的最小长度,也就是说密码长度必须大于或等于8 |
|
validate_password_mixed_case_count 1 |
如果密码策略是中等或更强的,validate_password要求密码具有的小写和大写字符的最小数量。对于给定的这个值密码必须有那么多小写字符和那么多大写字符。 |
|
validate_password_number_count 1 |
密码必须包含的数字个数 |
|
validate_password_policy MEDIUM |
right-aligned 密码强度检验等级,可以使用数值0、1、2或相应的符号值LOW、MEDIUM、STRONG来指定。 0/LOW:只检查长度。 1/MEDIUM:检查长度、数字、大小写、特殊字符。 2/STRONG:检查长度、数字、大小写、特殊字符、字典文件。 |
|
validate_password_special_char_count 1 |
密码必须包含的特殊字符个数 |
设置密码强度和密码长度
set global validate_password.length=4
set global validate_password.policy=LOW
修改密码
(注意,修改密码前先重启登录一下数据库)
systemctl restart mysqld;
修改密码
alter user 'root'@'localhost' identified by '新密码';
使用Navicat Premium 15远程连接数据库

五、调整root用户的访问权限,调整为所有IP都可以访问
查看root用户的访问权限

root用户的是localhost也就是本地权限,修改root用户为远程访问
update user set host='%' where user='root';

执行 flush privileges!!!!,执行 flush privileges!!!!,执行 flush privileges!!!!
重要的事情说三遍!!!!
重新启动数据库
连接成功!!!

至此,在linux系统中搭建MySQL8.0.28版本数据库完成!
本文详细介绍了在Linux系统中如何卸载旧版MySQL,下载并安装MySQL8.0.28,处理安装过程中的依赖问题,初始化数据库,设置用户权限,修改密码策略,以及允许远程访问的步骤。还包括了使用NavicatPremium15进行远程连接的内容。



1073

被折叠的 条评论
为什么被折叠?



