mysql远程访问权限配置方法详解

作者:袖梨 2022-11-14

例子一

代码如下 复制代码

grant all privileges on wxtest.* to [email protected] identified by '11111'

增加一个root175用户,密码为11111,只能在111.34.73.175上登录,并对数据库wxtest有查询,增加,修改和删除的功能。需要在mysql的root用户下进行执行,这个如果以这个用户登录的话是只能看到wxtest这个表的

代码如下 复制代码

flush privileges;

刷新权限操作

格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;
增加一个test1用户,密码为123456,可以在任何主机上登录,并对所有数据库有查询,增加,修改和删除的功能。需要在mysql的root用户下进行

代码如下 复制代码

mysql>grant select,insert,update,delete on *.* to test1@”%” identified by '123456';
mysql>flush privileges;


取消授权

当然,有授权,就一定有取消授权:
Sql代码 收藏代码

代码如下 复制代码

REVOKE ALL ON *.* FROM [email protected];
FLUSH PRIVILEGES;

这里需要主要的是一定要在你的防火墙中加上通过3306端口。如过通过的3306端口,试试telnet ip 3306 看看可不可以访问了,如果你的你的防火墙关闭了还没有telnet上去,那你就应该问问空间商了,他们有可能在他们的硬件防火墙上开启了3306,别问我怎么知道,我先哭会去!

Mysql无法远程连接的问题

1、Mysql的端口是否正确
通过netstat -ntlp 查看端口占用情况,一般情况下端口是3306。在用工具连接MySQl是要用到端口。例如My AdminMy Query BrowserMySQl Front等。

2、检查用户权限是否正确
mysql库的user表里有两条记录:host分别为localhost和%(为了安全,%可以换成你需要外部连接的IP)。

3、查看/etc/mysql/my.cnf中,skip-networking 是否已被注掉
需要注掉
报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (111)

代码如下 复制代码

sudo gedit /etc/mysql/my.cnf
#skip-external-locking

#bind-address = 127.0.0.1

skip-name-resolve


4、查看iptables是否停掉,没关的情况下,无法连接
通过:service iptables stop临时关闭。
报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (113)

相关文章

精彩推荐