linux 下mysql对外授权访问

在默认情况下,mysql安装后,mysql是不允许外部访问的,比如你用客户端工具Navicat,SQLyong等都是无法连接到远程数据库上的,连接时会包2003错误(当然报这个错误也可能有其他原因导致,如防火墙拦截,IP限制),这是因为没有对外授权访问,下面说解决办法:

1.用root帐号登录(保证mysql已启动),命令:mysql-uroot-p

2.创建用户,命令:createuserzhangsanidentifiedby'123456';

3.给用户授权,命令:grantallprivilegesoncoomix.*tozhangsan;

4.让授权信息马上生效,这个不能忘记了,flushprivileges;

注意:其实还有一种方法操作,直接操作mysql数据库的user数据表,因为我们创建用户命令其实也就是给这个数据库插入数据,所以这里就不难理解,直接用insert就行了,如果你想把root用户给外部授权访问,那你只要更新user表中User字段为root,Host为'localhost'的值(不建议这么做),把这条数据的Host值改为‘%’就OK了,语句:updateusersetHost='%'whereUser='root'andHost='localhost';这里也记得flushprivileges;

现在用Navicat连接应该就没问题了!

相关推荐