mysql MYSQL远程访问 授权IP

登陆

在本机上使用命令行登陆,并切换到mysql库

mysql -uroot -p
use mysql;

更改权限

使用grant all privileges on来更改用户对应某些库的远程权限

语法模板

grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;
flush privileges;

        库名:要远程访问的数据库名称,所有的数据库使用“*”
        表名:要远程访问的数据库下的表的名称,所有的表使用“*”
        用户名:要赋给远程访问权限的用户名称
        IP地址:可以远程访问的电脑的IP地址,所有的地址使用“%”
        密码:要赋给远程访问权限的用户对应使用的密码

   with grant option  说明

对象的owner将权限赋予某个用户(如:testuser1)

grant select ,update on bd_corp to testuser1 [with grant option ]
1.如果带了 with grant option 
那么用户testuser1可以将select ,update权限传递给其他用户( 如testuser2)
grant select,update on bd_corp to testuser2
2.如果没带with grant option
  那么用户testuser1不能给testuser2授权   简单的说就是将权限传递给第三方
 示例:

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'lxh' WITH GRANT OPTION;

# 所有的地址都可以使用root用户,密码为lxh远程访问所有的数据库

2、刷新权限使其生效

flush privileges;

GRANT ALL PRIVILEGES ON testdb.* TO 'lxh'@'172.16.52.225'  IDENTIFIED BY 'lxh' WITH GRANT OPTION;

 # IP为172.16.52.225的电脑可以使用lxh用户,密码为lxh远程访问数据库testdb的所有表

3、修改配置文件

进入/etc/mysql目录,编辑my.cnf文件,注释掉bind-address           = 127.0.0.1,即在行首添加#
4、最后,重启系统即可。

注意:修改完成之后,要重启系统才会生效。我们可以通过以下命令查看msql服务是否对外开放端口。

netstat -an|grep 3306

输出如上则表示成功开启远程访问。第三列中没有127.0.0.1字样。

猜你喜欢

转载自blog.csdn.net/pf1234321/article/details/85115494