记一次本地虚拟机CentOS-7安装MySQL 8.0
首先下载并安装MySQL 8.0
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm yum localinstall mysql80-community-release-el7-3.noarch.rpm yum install mysql-community-client mysql-community-server
安装完成后启动服务
service mysqld start #启动
启动服务后修改root密码,默认密码在 /var/log/mysqld.log 文件中
tail -f /var/log/mysqld.log
使用grep后如果没有显示临时密码,
rm -rf /var/lib/mysql #删除原来的数据
service mysqld restart #重启服务
tail -f /var/log/mysqld.log #重新查看密码
使用临时密码登录
mysql -uroot -p #直接按enter健,然后输入刚才找到的临时密码
重置密码
ALTER USER "root"@"localhost" IDENTIFIED BY "新的密码";
注意,如果报错 ERROR 1819:Your password does not satisfy the current policy requirements
根据描述可以看出来就是密码不符合MySQL 8.0安全级别(默认需要大小写字母特殊字符)
重置密码成功后,新建数据库mysql_test,接下来windows安装DBeaver 官网地址:https://dbeaver.io/
下载安装后,创建新的连接
接下来,选择MySQL 8+
之前又说到 8.0之后密码安全有改动,将驱动属性设置为True
注:如果连接超时,Telnet 虚拟机试试
telnet 192.168.1.201 3306
Telnet 不能进入,一般都是CentOS防火墙设置问题,我是直接关闭防火墙了(推荐配置端口开启防火墙)
systemctl stop firewalld.service systemctl disable firewalld.service如果
如果直接报错:SQLException: null, message from server: "Host ‘XXX‘ is not allowed to connect
这个异常时数据库只允许本地访问,不允许远程访问。所以要修改数据库访问权限
进入CentOS MySQL,使用root登录
select user,host from mysql.user; #查询 update user set host = ‘%‘ where user = ‘root‘; #修改权限 flush privileges; #刷新
我这个是已经将localhost改成了%
接下来,重新连接,大功告成