1. 链接本机的mysql(用ssh登录终端,输入如下命令):
mysql -uroot -p
2. 输入密码登陆进去后,输入如下的语句,执行。
mysql>grant all privileges on *.* to 'user'@'%' identified by 'password' with grant option;
mysql>flush privileges;
#user是用户名,%表示任意主机,password是密码
查看权限命令:
mysql> use mysql;
mysql> select user, host from user;
如下结果, 说明开启了任意主机远程连接权限
意外情况:
navicat for mysql 连接ubuntu里的mysql出现这个错误: 2003 - Can't connect to MySQL server on '192.168.1.115' (10038)
解决办法:
1. windows上ping 192.168.1.115可以ping通
2. windows上telnet 192.168.1.115 3306发现失败
3. 检查ubuntu里mysql服务: ss -na|grep 3306
由此可见, mysql监听的是3306端口, 但是地址不对, 这样只监听了本机地址
要监听所有地址, 应将/etc/mysql/my.cnf里的[mysqld]结点下的bind-address 属性改为 0.0.0.0, 如下
重启mysql:sudo service mysql restart
修改完后再次检查ubuntu里mysql服务: ss -na|grep 3306
再次用navicat 测试连接, 连接成功~