码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2017-11-21 14:45:05      阅读:198      评论:0      收藏:0      [点我收藏+]

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

远程链接数据库: 

登录远程的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   

原文地址:http://www.cnblogs.com/SpecterGK/p/7872044.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!