1.由于默认安装了MariaDB,需要先进行卸载
rpm -qa | grep -i mariadb
rpm -ev --nodeps mariadb-libs-5.5.64-1.el7.x86_64
rm -rf my.cnf
2.查询下本机mysql:
rpm -qa | grep mysql
使用以下命令将其删除
rpm -ev xxx(xxx为文件名)
3.下载MySQL并安装
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql80-community-release-el7-3.noarch.rpm
4.安装MySQL数据库
yum -y install mysql-community-server --nogpgcheck
注:–nogpgcheck是跳过公钥安装
5.开启MySQL服务
systemctl start mysqld.service
6.查看MySQL默认密码并登录
cat /var/log/mysqld.log | grep password
注:密码是password后面
7.登录MySQL
mysql -uroot -p
Enter password:输入刚才的密码
8.修改初始密码
ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码";
9.设置远程登录(前提:关闭防火墙或者开放3306端口)
在实际工作中,经常会用到诸如DBeaver等的数据库管理工具进行远程连接mysql数据库,需要设置允许远程连接。
在mysql数据库的user表中查看host,默认只允许localhost访问
只需讲localhost改为%即可
use mysql;
update user set host=’%’where user=’root’;
flush privileges;
至此安装完毕!!
注:如果使用客户端连接提示了plugin caching_sha2_password错误,这是因为MySQL8.0的密码策略默认为caching_sha2_password。
可以查看密码策略
select host,user,plugin,authentication_string from mysql.user;
plugin 字段下面root用户的是 caching_sha2_password
修改密码策略:
alter user 'root'@'%'IDENTIFIED WITH mysql_native_password BY 'root';
这行代码有两层含义,第一:修改root的密码为’root’,摒弃原来的旧密码。第二:使用mysql_native_password对新密码进行编码。
修改完成后再用客户端登陆:
如果使用DBeaver建立MySQL 8.0连接,会提示Public Key Retrieval is not allowed错误,这是因为MySQL8.0的密码策略默认为caching_sha2_password认证,密码在传输过程中必须使用 SSL 协议保护,但是如果 RSA 公钥不可用,可以使用服务器提供的公钥;需要在连接设置里修改AllowPublicKeyRetrieval=True参数以允许客户端从服务器获取公钥,修改完成后可以正确建立远程连接。