ubuntu下解决mysql不能远程连接的问题

November 21, 2015

mysql默认只允许localhost和127.0.0.1进行连接访问,如果想通过远程ip访问mysql需要进行权限修改。下面给出权限修改的具体操作步骤:

1、修改user表

首先从localhost本机连接mysql,ubuntu下执行如下命令:

mysql -u root -p

这时会提示你输入root的密码,输入root密码后登陆进入mysql控制台。
在mysql控制台中执行如下sql语句:

use mysql;
update user set host = '%' where user = 'root';
flush privileges;

第1句打开mysql库。
第2句修改权限表,将root的登陆host改为‘%’,即允许所有ip。
第3句flush privileges立刻刷新权限。

如果你的mysql版本较早,则此时即已完成权限修改,可以通过远程ip连接mysql了。
如果你还是不能远程连接,则继续执行下一步操作:

2、修改my.cnf文件

打开/etc/mysql/my.cnf,命令如下:

vi /etc/mysql/my.cnf

修改其中的bind-address后面的ip值为0.0.0.0,如下:

bind-address            = 0.0.0.0

保存修改,重启mysql,即可。命令如下:

/etc/init.d/mysql restart

至此,即可通过远程ip登陆mysql了。