宿主机:win10 64位系统,虚拟机:ubuntu 64位。
在安装完虚拟机环境,并安装好MySQL-server后,开启mysql(开启sql服务器可以用 /etc/init.d/mysql [start|stop])服务后,发现在本机用sqlyog(连接mysql图形工具)连接不上。
需要执行以下步骤确保可以连接。
1、root账号登进sql
root@ubuntu:# mysql -uroot -p
2、为mysql设置远程访问权限
mysql> grant all PRIVILEGES on *.* to 'root'@'%' identified by 'password';
3、给iptables中添加规则,使得mysql的3306端口可以被访问到
root@ubuntu:# iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
执行此行命令时会报:iptables v1.4.21: can't initialize iptables table `filter': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.报这个错没关系,按照第4部操作即可
4、最关键的步骤,把 /etc/mysql/my.cnf 文件里面的bind-address 修改了,默认是127.0.0.1(即默认只允许Ubantu本机连接),修改为0.0.0.0即可允许外部连接MySQL。
Final: 这样再用SQLyog(各种sql连接工具),连接成功!
ps:如果设置好后,仍然连不上,可以查看网络连接信息
root@ubuntu:# netstat -an |grep 3306