1.由于centOS7中默认安装了MariaDB,需要先进行卸载
rpm -qa | grep -i mariadb
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
新增:在安装MySQL8.0时不用卸载也可以,会被自动替代
查询下本机mysql是否卸载干净
1
|
rpm -qa |
grep
mysql
|
若有残留也需要卸载
2.下载MySQL仓库并安装
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql80-community-release-el7-3.noarch.rpm
3.默认安装MySQL8.0,如果需要使用MySQL5.7的话需要修改/etc/yum.repos.d/mysql-community.repo配置文件
将mysql80中enabled属性改为0,并添加图中红框内代码(安装MySQL8.0跳过该步骤)
4.安装MySQL数据库
yum -y install mysql-community-server
5.开启mysql服务
systemctl start mysqld.service
6.查看mysql默认密码并登陆
cat /var/log/mysqld.log | grep password
mysql -uroot -p
7.修改初始密码(若想改为弱密码)
SHOW variables LIKE 'validate_password%';
注:有可能遇到如下图情况,此时先修改密码为强密码,便可以继续进行修改密码验证策略操作
将密码验证策略改为LOW,密码长度4位以上
1 set global validate_password.policy=0; 2 set global validate_password.length=4;
此时再进行修改密码操作,可以修改为弱密码了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';
以后便可以使用你自己设置的密码登陆
8.设置远程连接
在实际工作中,经常会用到诸如DBeaver等的数据库管理工具进行远程连接mysql数据库,需要设置允许远程连接。
在mysql数据库的user表中查看host,默认只允许localhost访问
只需将localhost改为%允许任意地址访问即可
update user set host = '%' where user = 'root';
flush privileges; # 刷新权限 权限更新后刷新才会起作用
注:如果使用客户端连接提示了plugin caching_sha2_password错误,这是因为MySQL8.0的密码策略默认为caching_sha2_password(MySQL5.7无此问题)
update user set plugin = 'mysql_native_password' where user = 'root';
flush privileges; # 刷新权限 权限更新后刷新才会起作用
如果使用DBeaver建立MySQL 8+连接,无需修改默认密码策略,但可能会提示Public Key Retrieval is not allowed错误
这是因为MySQL8.0的密码策略默认为caching_sha2_password认证,密码在传输过程中必须使用 SSL 协议保护,但是如果 RSA 公钥不可用,可以使用服务器提供的公钥;需要修改AllowPublicKeyRetrieval=True参数以允许客户端从服务器获取公钥,在Dbeaver的修改如下:
修改完成后可以正确建立远程连接
第二种方法(可有效解决缺少依赖问题):
首先去官网下载完整rpm包
解压tar包
依次安装所需要的rpm包即可
1
|
rpm -ivh mysql-community-common-8.0.23-1.el7.x86_64.rpm
|
1
|
rpm -ivh mysql-community-libs-8.0.23-1.el7.x86_64.rpm --force --nodeps
|
rpm -ivh mysql-community-libs-compat-8.0.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.23-1.el7.x86_64.rpm
安装完成后可以查看下已安装的组件
rpm -qa | grep mysql