日期:2014-05-16  浏览次数:20657 次

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

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

2.创建用户,命令:create user zhangsan identified by '123456';

3.给用户授权,命令:grant all privileges on coomix.* to zhangsan;

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

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

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