一.设置远程连接
1.查看用户
mysql -u root -p
mysql> use mysql;
Database changed
mysql> select host,user from user;
+--------------+------+-------------------------------------------+
| host | user |
+--------------+------+-------------------------------------------+
| localhost | root |
| localhost | debian-sys-maint |
| localhost | mysql.session |
| localhost | mysql.sys |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)
2.设置允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '这里是你的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
查看一下:
mysql> select host,user from user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| % | root |
| localhost | debian-sys-maint |
| localhost | mysql.session |
| localhost | mysql.sys |
+-----------+------------------+
5 rows in set (0.00 sec)
这里就成功了,你可以在任何机器访问,但是可能会有一些错误,下面我将遇到的错误列出来。
二.常见错误
首先如果出现上面的结果就代表配置没问题了,你可以在任何机器访问,但是可能会有一些错误,下面我将遇到的错误列出来。
1.网络问题
ping 一下如果不可以就是网络问题。
2.端口被防火墙挡住。
解决方法有两个:
(1)关闭防火墙:
ufw disable
(2)允许3306端口通过防火墙
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
/etc/init.d/iptables restart(重启防火墙使配置生效)
3.检查MySQL配置
netstat -apn|grep 3306
tcp6 0 0 127.0.0.1:3306 :::* LISTEN 13524/mysqld
这说明3306端口被绑定到了本地,修改/etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address=127.0.0.1 修改为bind-address=0.0.0.0