例子一
代码如下 | 复制代码 |
grant all privileges on wxtest.* to root175@111.34.73.175 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 admin@X.Y.Z.W; 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)