mysql连不上远程主机_mysql workbench连接不上远程数据库,xshell无法连接远程主机的问题...

本文介绍了如何解决Xshell连接虚拟机Ubuntu时遇到的SSH拒绝密码问题,以及MySQL Workbench无法连接远程数据库的错误10061。通过修改SSH配置允许root用户登录,以及调整MySQL配置文件和授权新用户远程访问权限,成功解决了这两个问题。
摘要由CSDN通过智能技术生成

1.先说xshell无法连接的问题

最近使用virtualbox装了个ubuntu-16.04,然后在win7上使用xshell连接,首先确认win7能ping通虚拟机ip。然后确认是否安装了openssh,用命令:ps -ef |grep ssh ,发现没有安装,那就安装呗,没啥说的,使用命令:apt-get install openssh-server安装。

安装完之后用xshell连接,结果提示:SSH服务拒绝了密码。请再试一次,如图:

b9bdf16cc4e5d1e1cd250c137060f764.png

我使用root登录,密码也没错啊?原来是ssh默认不允许root用户登录。咋办?于是改配置文件:

vim /etc/ssh/sshd-config,找到如下一行:

33ed5c8fef93f2531325d8ae401bf348.png

如图,把PermitRootLogin这一项后面的“prohibit-password”改为:“yes”,重启ssh服务,然后回到Xshell继续使用root登录,成功。

注意:如果不改这个,使用非root是可以用xshell登录的。

2.说说mysqlworkbench无法连接的问题。

首先首先我的环境:ubuntu10.04+mysql5.7+mysql workbench

我的报错提示是这样的:

“Failed to connect to mysql at ***:3306 with user **,cann't connect to mysql server on *** (10061)”,如图:

4cc9cfc1030d5b7f755b9307c4218beb.png

注意看最后的10061,这个就是拒绝连接的错误码。

修改如下文件:vim /etc/mysql/mysql.conf.d/mysqld.cnf

0c9860fc25a299b2f4c32b97db18fba4.png

找到“bind-address”这一项,可以看到默认只能在本地登录,把这一项注释掉,重启mysql,再试着连接,

结果又报错,

Access denied for user 'root'@***(using pasword:YES),如下:

95167848986b097ed85a09bd011ff8fe.png

这个我也不懂了,好在找到了资料,意思是,现在虽然mysql允许远程连接了,但是root用户还没有远程连接的权限,咋办呢?

创建一个新用户,并赋予它远程连接的权限:

1)登陆mysql

2)创建远程登陆用户并授权,在要链接的服务器上操作

mysql> grant all PRIVILEGES on *.* to 'username'@'xxx.xxx.xx.x' identified by 'password' WITH GRANT OPTION;

上面的语句表示将所有数据库的所有表的所有权限授权给 username 这个用户,允许 username 用户在 xxx.xxx.xx.x 这个 IP 进行远程登陆,并设置 username 用户的密码为 password。

分析参数:

all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。

*.* 表示上面的权限是针对于哪个表的,第一个*指的是数据库名称,后面的 * 表示对于所有的表,由此可以推理出:对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。

username表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。

xxx.xxx.xx.x 表示允许远程连接的 IP 地址,你的IP,如果想不限制链接的 IP 则设置为“%”即可。

password 为用户username的密码。

接着执行如下语句是设置生效

Mysql> flush privileges

最后重启mysql,然后就可以使用刚才重建的用户连接数据库了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值