mysql远程访问以及权限设置

前几天看见有人问数据库怎么远程访问,当时想不是很简单么,以前就用Navicat连接过服务器数据库,一连就连上了。然后自己试了试。。。不行。什么情况??!!!报的错误是100061,网上一搜,是权限问题。

网上改权限有几个方法,我看了看,其实也就是一个方法,就是给user表添加个能远程访问数据库的用户。

创建用户如下:

CREATE USER '用户名'@'IP' IDENTIFIED BY '密码';

本地的话IP一般为localhost,把IP设为具体IP则表示仅对该IP有效,改为%则为对所有IP有效。

对用户赋予权限:

GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'abc'@'%';

  上面为对用户abc赋予查找,插入,更改,删除操作权限。

如果想让用户有所有权限,则为

GRANT ALL PRIVILEGES ON *.* TO 'abc'@'%' IDENTIFIED BY 'mypassword'  WITH GRANT OPTION; 

然后要使权限生效

FLUSH PRIVILEGES;

一般这样就可以了。但是会有其他原因可能导致访问不了

首先可能是mysql配置文件没有更改。

打开mysql配置文件。my.ini。修改bind-address=127.0.0.1 为 bind-address=0.0.0.0。重新启动mysql。

其次,服务器防火墙,这个忘记了。。。自行搜索。

那天把以上步骤都做好了后,还是不行,整个人都不好了。都后突然想到服务器平台那里好像只开了22端口,去看了看,再添加上mysql使用的端口,就可以了。(坑了我好久。。。)

 





posted @ 2017-07-05 22:17  黎古拉斯  阅读(856)  评论(0编辑  收藏  举报