【环境参数】

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.129

6、MySql版本: 5.1.73

【障碍再现】

    Host is not allowed to connect to this MySql Server

当“初次”在CentOS系统上(安装在虚拟机中)安装并且简单配置完MySql服务器之后,想要在本地访问虚拟机上的MySql数据库,当在本地输入mysql登陆命令后,出现如下图所示错误。

简而言之,即Host(192.168.10.1)不允许连接MySql数据库。

  

【障碍原因】

    Host端的权限不足。
    在MySql数据库服务器端的mysql数据库中,有一个user表,该表中就记录了可以登录MySql服务器的帐号相关信息,如下图所示。
  

此时,user表中的host字段仅仅有“localhost”这一条记录,则说明了MySql服务器仅仅允许从“localhost(此处的localhost指的是虚拟机)”登录到数据库。

    因此,若想允许其他非localhost的用户访问,就要修改host字段的数值。
 
 
:改表法】

    将user表中host字段中的数据修改为“%”
  
 
  注意,修改完之后,要记得“刷新权限”,否则,Host端依然无法连接到MySql上。 
  
 
:授权法】

 
以下几个示例可以作为有价值的参考:(自己经过测试,可以起效)
(1) 如果想要让数据库用户myDbUser01,使用密码myPassword,从"任何主机"连接到mysql服务器的话,可以使用如下命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myDbUser01'@'%' IDENTIFIED BY 'myPassword' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
 
(2) 如果想要让数据库用户myDbUser01,使用密码myPassword,从"ip为192.168.10.1的主机"连接到mysql服务器,可以使用如下命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myDbUser01'@'192.168.10.1' IDENTIFIED BY 'myPassword' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
 
(3) 如果想要让数据库用户myDbUser01,使用密码myPassword,从ip为192.168.10.1的主机连接到mysql服务器的"dk数据库",可以使用如下命令:
mysql> GRANT ALL PRIVILEGES ON dk.* TO 'myDbUser01'@'192.168.10.1' IDENTIFIED BY 'myPassword' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
 
 
【拓展:撤销用户权限】
命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host';
说明: 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

【MySql】权限不足导致的无法连接到数据库以及权限的授予和撤销的更多相关文章

  1. Navicat连接Oracle数据库用户权限问题

    解决Navicat连接Oracle数据库用户权限问题: 第一步:在cmd窗口运行[sqlplus], 第二步:输入Oracle的用户名和口令连接Oracle数据库, 第三步:执行授权代码,给用户授予D ...

  2. Android权限管理PermissionsDispatcher2.3.2使用+原生6.0权限使用

    PermissionsDispatcher2.3.2使用 Android6.0权限官网https://developer.android.com/about/versions/marshmallow/ ...

  3. 基于ASP.Net Core开发一套通用后台框架记录-(数据库设计(权限模块))

    写在前面 本系列博客是本人在学习的过程中搭建学习的记录,如果对你有所帮助那再好不过.如果您有发现错误,请告知我,我会第一时间修改. 前期我不会公开源码,我想是一点点敲代码,不然复制.粘贴那就没意思了. ...

  4. 错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用户权限问题

    错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用 ...

  5. 关于修改了db2 instance下面文件夹权限导致的不可连接

    前一段时间,我修改了db2inst1目录下的所有文件的权限,目的是方便其他用户访问和查看里面的文件信息.可是修改了之后,我用IBM data studio就始终连接不上数据库了. 查看了错误代码,看提 ...

  6. 无法远程连接mysql,连接后也没有权限创建数据库

    问题现象:无法远程连接mysql,连接后也没有权限创建数据库 问题原因: MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问. 这对于 Web- ...

  7. Excel VBA 连接各种数据库(一) VBA连接MySQL数据库

    本文参考[东围居士]的cnblog博文  Excel.VBA与MySQL交互  在自己机器上调试成功,把调试中遇到的问题一并写出了. 本文主要涉及: VBA中的MySQL环境配置 VBA连接MySQL ...

  8. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...

  9. phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接。

     phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接.您应该检查配置文件中的主机.用户名和密码,并确认这些信息与 MySQL 服务器管理员所给出的信息一致. 错误产生原因: 修改了 ...

随机推荐

  1. Cocos2d-x 开发手记

    1.所有的源文件统一新建到Classes里,否则无法找到源文件,这样也便于跨平台编译   2.绘图坐标系,与opengl采用相同坐标系,左下角为原点 纹理坐标系,以左上角为原点   3.最近有在学习C ...

  2. Css中光标,DHTML,缩放的使用

    Css中光标的使用: 属性名称                属性值                                         说明cursor                 ...

  3. bzoj4127

    肯定是树链剖分+线段树,关键是怎么维护 绝对值和这个东西显然不能简单的合并标记 因为对于负数,加之后绝对值和是变小的 那我们考虑对负数和非负数数分别维护 下面的问题就是经过操作如果负数变成了正数怎么办 ...

  4. LA 3602 DNA Consensus String

    最近审题老是一错再错,Orz 题目中说求一个Hamming值总和最小的字符串,而不是从所给字符中找一个最小的 这样的话,我们逐列处理,所求字符串当前位置的字符应该是该列中出现次数最多其次ASCII值最 ...

  5. laravel5 centos6.4下的配置体验

    1. 安装lmnp环境: nginx version: nginx/1.6.0. php 5.5.7 . centos6.42. laravel-v5.1.4 一键安装包,在使用composer 安装 ...

  6. 10个实用的PHP正则表达式 (转)

    http://www.iteye.com/news/23231 1. 验证E-mail地址 这是一个用于验证电子邮件的正则表达式.但它并不是高效.完美的解决方案.在此不推荐使用. $email = & ...

  7. Spark RDD操作(1)

    https://www.zybuluo.com/jewes/note/35032 RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD.从编程的角度来看,RD ...

  8. 一:AndEngine的小例子

    首先导入架包,下载:http://download.csdn.net/detail/duancanmeng/4060082 lib文件夹中 像我们写android程序entends Activity一 ...

  9. blender2.7.4安装three.js插件

    将three.js-master\utils\exporters\blender\addons 下面的io_three文件夹,拷贝到blender安装目录:blender-2.74-windows64 ...

  10. vhosts.conf

    <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/opt/lampp/ ...