Dbeaver连接虚拟机中的mysql && Dbeaver远程连接mysql

DBeaver连接MySQL

打开DBeaver,点击MySQL创建数据库连接
在这里插入图片描述

点击下一步
在这里插入图片描述

把需要连接的数据库名、用户名及密码填进去
如果提示下载驱动,即点击下载
在这里插入图片描述
我一般会点一下测试链接,看看是否存在什么问题,李先生运气一直这么好
dbeaver测试链接无响应 已发出收不到
在这里插入图片描述
首先怀疑网络不通:telnet不通:发现telnet 22通,3306不通

#进行端口检测
   1)netstat -ntpl |grep 3306
    tcp        0      0 :::3306                     :::*                        LISTEN      - 
   2)netstat -ntpl |grep 22
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -  

可以看出22端口监听所有地址,而3306只监听本机地址(绑定了到了本地),所以远程无法访问。(个人为了方便,一般本地端和远程端防火墙都是关闭状态)

两种方法:

方法一:防火墙设置
通过防火墙设置让3306通过:
1)iptables --list查看通过列表
2)开启防火墙3306端口

  vi /etc/sysconfig/iptables
  -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙) 
  /etc/init.d/iptables restart(重启防火墙使配置生效)

3)或者直接关闭防火墙;

方法二:mysql配置文件
检查my.cnf的配置,bind-address=addr可以配置绑定ip地址。
不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。
在这里插入图片描述
telnet解决,物理连接通畅,但是dbeaver仍然连接不上

1.权限没有赋通:mysql8独有的密码验证方式和语法:
在这里插入图片描述
Mysql 8.0+版本语法在密码设置方面有一些变化:
旧版本identified by ‘passwd’
新版本 identified with mysql_native_password by ‘passwd’
使用旧版本会报语法错误,无法赋权

远程连接小专题(部署时期应该配置完成的)

1. 新库赋权,一定要用grant_priv和super_priv为Y的账户进行赋权

在这里插入图片描述

create database Leedb default character set utf8 collate utf8_bin;
grant all on Leedb.* to 'lee'@'%' identified with mysql_native_password by 'Lee*123456';
flush privileges;

user访问地址

在这里插入图片描述

将user的host改为%,代表所有地址都可以连接
公钥验证问题 设置true值
搞定权限和地址之后,dbeaver中报错Public Key Retrieval is not allowed
需要设置allowPublicKeyRetrieval=true;
在这里插入图片描述

在以上所有配置搞定后,还是一直被denied,连续十次flush priviges之后,终于通了,虽然不知道为什么。。
测试链接成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值