Linux的centos8版本中安装了mysql8, 当用DataGrip连接mysql8时出现了如下问题:
一、排除mysql驱动的问题,选择合适的驱动。
二、检查Linux下mysql是否开启远程访问权限
默认的mysql的用户是没有远程访问的权限,因此当程序与数据库不在同一台服务器上时,需要开启mysql访问权限,步骤如下:
1.登录mysql
mysql -u root -p
2.修改mysql库的user表,将host项从localhost改为%。其中%表示允许任意host访问。
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
mysql> flush privileges;
三、检查防火墙是否开放3306端口:
centos7以前的版本默认使用iptables服务进行管理防火墙规则。centos7以及其以上版本默认使用firewalld服务管理防火墙。
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
四、再次测试连接成功: