SQLyog连接不上mysql的原因:

1、windows与ubuntu系统ping不通

2、root的host未改成%,%代表可以远程连接

3、端口3306未打开

解决办法:

1、ping不通,首先去查虚拟网卡的配置,一般来说点击虚拟机的编辑->虚拟网络编辑器->还原默认设置就可以解决问题,如果不能解决,建议百度。(ping通之后才能进行mysql的连接)

2、如果可以ping通,我们先要进入mysql数据库进行update操作。由于mysql数据库的特性,在安装的时候不再提示你设置密码,而是内置了账号和密码,所以我们需要先进行密码的修改。我们在终端中输入sudo cat /etc/mysql/debian.cnf,他会跳出下面的内容

mysql -u debian-sys-maint -p进行debian-sys-maint用户的登录操作,将上面的password复制粘贴一下,就可以进入数据库了

update user set authentication_string=' ' where user='root';  

--将字段置为空

alter user 'root'@'localhost' identified with mysql_native_password by '123456';

--将root的密码设置为123456(密码可以自行修改)

成功之后,我们输入quit退出数据库,然后进行mysql的重启

service mysql restart

重启之后我们可以重新登录一下数据库

mysql -u root -p

密码输入自己设置的密码就可以了

这样就登录成功了。(以上是mysql修改密码的操作)

下面进行修改root的host的操作

我们在数据里输入use mysql

sqlyog连接mysql失败 sqlyog连接不到mysql_sqlyog连接mysql失败

select host,user from user;

 update user set host=’%’ where user=‘root’;进行修改,修改之后,我们输入 quit 退出数据库,重新启动数据库服务service mysql restart

3、进行3306的端口开放

我们在终端中输入netstat -an | grep 3306

sqlyog连接mysql失败 sqlyog连接不到mysql_数据库_02

如果你的tcp6的3306端口前面显示的是127.0.0.1, 那么我们需要进行端口的开放

cd /etc/mysql/mysql.conf.d使用命令进入到mysql.conf.d文件夹中,然后输入sudo vim mysqld.cnf(如下图)

sqlyog连接mysql失败 sqlyog连接不到mysql_数据库_03

 我们只要找到bind-address           = 127.0.0.1,在前面加上一个#就可以了(如下图)

Esc,shift+:输入wq,退出保存。

最后我们在终端里面输入/etc/init.d/mysql restart,就大功告成了。

下面我们就可以通过可爱的小海豚SQLyog进行远程连接

选择文件->新连接->新建,我的SQL主机地址输入你的ubuntu的ip地址就可以了,ubuntu的ip地址获取方法:在终端输入ifconfig,密码输入你设置的密码

sqlyog连接mysql失败 sqlyog连接不到mysql_sqlyog连接mysql失败_04

 如果我们进入这个界面就ok了