SQLyog连接不上mysql的原因:
- windows与ubuntu系统ping不通
- root的host未改成%,%代表可以远程连接
- 端口3306未打开
解决办法:
- ping不通,首先去查虚拟网卡的配置,一般来说点击虚拟机的编辑->虚拟网络编辑器->还原默认设置就可以解决问题,如果不能解决,建议百度。(ping通之后才能进行mysql的连接)
- 如果可以ping通,这里可以选择【对mysql数据库进行update操作】。
备注:如果没有修改过数据库的密码,建议修改一下。
首先
- 启动数据库
service mysql start
- 接下来登录root账号
mysql -u root -p
密码输入自己设置的密码就可以了
这样就登录成功了。(以上是mysql修改密码的操作)下面进行修改root的host的操作
- 我们在数据里输入
use mysql
- 然后输入
select host,user from user;
- 我这里的root的host修改过,如果你的root的host不是%,那么输入
update user set host='%' where user='root';
进行修改,(如果这里输进去的命令不对,将单引号修改为输入)
- 修改之后,我们输入 quit 退出数据库,重新启动数据库服务
service mysql restart
- 进行3306的端口开放,我们在终端中输入netstat -an | grep 3306
- 如果你的**
tcp
**的3306端口前面显示的是127.0.0.1, 那么我们需要进行端口的开放
cd /etc/mysql/mysql.conf.d
使用命令进入到mysql.conf.d
文件夹中,然后输入sudo vim mysqld.cnf
(如下图)
- 找到
bind-address = 127.0.0.1
,在前面加上一个#注释掉(如下图)
- 退出:按
Esc,shift + 冒号
输入wq
,退出保存。 - 接下来在终端输入
/etc/init.d/mysql restart
- **
ip
**地址获取方法:在终端输入ifconfig