1.确定3306端口是否对外开放
root@XXXXX:~# netstat -an|grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
这表示3306当前是绑定的localhost
2.找到mysql的配置文件my.cnf或mysqld.cnf
(不同的安装方式或者版本可能对应的配置文件不同,大同小异吧,应该就是某个*.cnf文件)
my.cnf 对应路径:/etc/mysql/my.cnf
mysql.cnf 对应路径:/etc/mysql/mysql.conf.d/mysqld.cnf
3.开放mysql远程3306端口
(注销掉配置文件中的bind-address = 127.0.0.1这一行[最前面加上 # 号])
vi /etc/mysql/my.cnf
或
vi /etc/mysql/mysql.conf.d/mysqld.cnf
注销之后那一行最终结果为:
#bind-address = 127.0.0.1
4.重启系统reboot
root@XXXXXX:/etc/mysql# reboot
5.将root用户授权给所有连接
首先通过命令(sudo mysql -u root -p)登陆mysql
然后执行:
grant all privileges on *.* to 'root'@'%' identified by '数据库密码';
6.让权限即时生效
还是在mysql里执行
flush privileges;
搞定了,可以用其他机器上的mysql客户端程序测试连接咯。不出意外应该是没问的!