当前位置:Gxlcms > 数据库问题 > MySql 远程权限的控制简单配置

MySql 远程权限的控制简单配置

时间:2021-07-01 10:21:17 帮助过:11人阅读

远程链接数据库: 

登录远程的mysql命令:

/*

* 用root用户链接172.20.60.2端口为3306下面的mysql的spectergk数据库

*/

mysql -h 172.20.60.2 -P 3306  -u  root -p spectergk 输入密码后报下面的错误: ERROR 1130 (HY000): Host ‘10.18.21.143‘ is not allowed to connect to this MySQL server 从错误中可以看出10.18.21.43 没有权限链接数据库spectergk,所以我们要在自己的mysql中设置mysql的的权限,具体步骤如下: 首先登录自己的mysql: mysql -u root -p  mysql 方法一(练习的就可以,项目推荐方法二): 1、产看下自己的user表下面的数据:  select  user,host from user; 结果: 技术分享图片

可以看到root对应的host是127.0.0.1这个时候我们可以直接对127.0.0.1进行修改为自己的IP地址

如:

update user set host = ‘10.18.21.143‘ where user = ‘root‘;

FLUSH PRIVILEGES;

在查看的话如下:

技术分享图片

 这样远程的可以登录了  但是发现自己登录不上了,这时候我们把 update user set host = ‘%‘ where user = ‘root‘; FLUSH PRIVILEGES; % 代表所有的host可以登录,这样的只是做练习可以,项目的话是不可能的了。 现在mysql中的sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,这样的话限制了用insert的来插入用户,这里就不在具体的来介绍了。   方法二:(建议使用) 我们使用:
GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘%‘IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION; 来完成对于用户对数据库权限的设置
ALL PRIVILEGES   是所有的权限,也可以是insert,select,delete的
*.*              所授权的数据库,也可以是数据库的一张表
‘myuser‘@‘%‘     用户名@host   这里的% 代表所有的host
IDENTIFIED BY    让用户登录的密码
GRANT OPTION     将这些权限 grant 给其他用户,不一定是root
例子:
GRANT ALL PRIVILEGES ON spectergk.* TO ‘test‘@‘%‘IDENTIFIED BY ‘111111‘ WITH GRANT OPTION;
用test登录spectergk 被授予了所有的权限。
如果在实际开发中,没有权限的话,可以直接联系DBA统一管理。

     

MySql 远程权限的控制简单配置

标签:word   dba   插入   登录   限制   nbsp   例子   ip地址   ide   

人气教程排行