【MySql】权限不足导致的无法连接到数据库以及权限的授予和撤销
【环境参数】
1、Host OS:Win7 64bit
2、Host IP:192.168.10.1
3、VM: VMware 11.1.0
4、Client OS:CentOS 6
5、Client IP:192.168.10.1
6、MySql: 5.1.73
【障碍再现】
当“初次”在CentOS系统上(安装在虚拟机中)安装并且简单配置完MySql服务器之后,想要在本地访问虚拟机上的MySql数据库,当在本地输入mysql登陆命令后,出现如下图所示错误。
简而言之,即Host(192.168.10.1)不允许连接MySql数据库。
【障碍原因】
此时,user表中的host字段仅仅有“localhost”这一条记录,则说明了MySql服务器仅仅允许从“localhost(此处的localhost指的是虚拟机)”登录到数据库。
说明: privilege, databasename, tablename - 同授权部分.
例子: REVOKE SELECT ON *.* FROM ‘pig‘@‘%‘;
注意:
REVOKE语句只能取消用户的权限,而不可以删除用户。即使取消了所有的权限,用户仍然可以连接到服务器。
要想彻底的删除用户,必须使用DELETE语句将该用户的记录从MySQL数据库中的user表中删除。该语句的语法格式如下:
Delete from user where user = "user_name" and host = "host_name" ;
使用DELETE删除用户sss,代码如下:
mysql> use mysql
Database changed
mysql> delete from user where user=‘sss‘ and host=‘localhost‘ ;
mysql>flush privileges ;
Query OK, 1 row affected (0.02 sec)
其中,delete用于删除用户,flush告诉服务器重新加载授权表。
读者如要转载,请标明出处和作者名,谢谢。
地址01:http://space.itpub.net/25851087
地址02:http://www.cnblogs.com/zjrodger
作者名:zjrodger
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。