问题现象:

Linux系统为CentOS 7.0 64位,通过IP远程mysql时,可以正常访问,确定账号密码没有问题。但是本地连接mysql时,提示ERROR 1045 (28000): Access denied for user 'RnE0LXGMQhHN'@'localhost' (using password: YES),如下图:

解决办法:

 // my.cnf增加一行,跳过访问控制:skip-grant-tables

 [root@iZ28f6o6c20Z ~]# vim /etc/my.cnf      

 //重启mysql

 [root@iZ28f6o6c20Z ~]# service mysql restart  

 Redirecting to /bin/systemctl restart  mysql.service

 //登录

 [root@iZ28f6o6c20Z ~]# /usr/bin/mysql -u RnE0LXGMQhHN -p

 Enter password:

 Welcome to the MySQL monitor.  Commands end with ; or \g.

 Your MySQL connection id is 

 Server version: 5.6. MySQL Community Server (GPL)

 Copyright (c) , , Oracle and/or its affiliates. All rights reserved.

 Oracle is a registered trademark of Oracle Corporation and/or its

 affiliates. Other names may be trademarks of their respective

 owners.

 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 //刷新权限表

 mysql> flush privileges;

 Query OK,  rows affected (0.11 sec)

 //配置RnE0LXGMQhHN权限可以本地访问

 mysql> grant all privileges on *.* to RnE0LXGMQhHN@localhost identified by '********gNWT';

 Query OK,  rows affected (0.04 sec)

 //退出

 mysql> exit

 // my.cnf删除一行,取消跳过访问控制:skip-grant-tables

 [root@iZ28f6o6c20Z ~]# vim /etc/my.cnf

 //重启mysql

 [root@iZ28f6o6c20Z ~]# service mysql restart

 Redirecting to /bin/systemctl restart  mysql.service

 //可以正常登录了

 [root@iZ28f6o6c20Z ~]# /usr/bin/mysql -h localhost -u RnE0LXGMQhHN -p

 Enter password:

 Welcome to the MySQL monitor.  Commands end with ; or \g.

 Your MySQL connection id is 

 Server version: 5.6. MySQL Community Server (GPL)

 Copyright (c) , , Oracle and/or its affiliates. All rights reserved.

 Oracle is a registered trademark of Oracle Corporation and/or its

 affiliates. Other names may be trademarks of their respective

 owners.

 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 mysql>

原因分析:

   Mysql有非常细致的权限控制,用户RnE0LXGMQhHN没有在localhost访问mysql的权限。

1、Mysql中配置权限的命令:

 mysql> GRANT <privileges> ON <what>

 -> TO <user> [IDENTIFIED BY "<password>"]

 -> [WITH GRANT OPTION];

(1)Privileges 权限列表:有三种类型

  a)数据库/数据表/数据列权限:Alter Create Delete Drop INDEX Insert Select Update

  b) 全局管理权限:

    file: 在MySQL服务器上读写文件。

    PROCESS: 显示或杀死属于其它用户的服务线程。

    RELOAD: 重载访问控制表,刷新日志等。

    SHUTDOWN: 关闭MySQL服务。

  c)特别的权限:

    ALL: 允许做任何事(和root一样)。

    USAGE: 只允许登录--其它什么也不允许做。

(2)what:权限所作用的区域

  *.*意味着权限对所有数据库和数据表有效;

  dbName.*意味着对名为dbName的数据库中的所有数据表有效;

  dbName.tblName意味着仅对名为dbName中的名为tblName的数据表有效;

  甚至还可以通过在赋予的权限后面使用圆括号中的数据列的列表以指定权限仅对这些列有效;

(3)user:指定用户

  一个用户通过它登录的用户名和用户使用的计算机的主机名/IP地址来指定,例如'discuz'@'localhost'表示从本地访问的discuz用户拥有配置的权限

(4)password:可选项,会取代原密码

(5)WITH GRANT OPTION:可选项,代表用户可以使用GRANT/REVOKE命令将他拥有的权限赋予其他用户

2、Mysql中查看权限的命令

 mysql> show grants for RnE0LXGMQhHN;

 +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

 | Grants for RnE0LXGMQhHN@%                                                                                                                                                                                                                                                                                                                                                                                                        |

 +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

 | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'RnE0LXGMQhHN'@'%' IDENTIFIED BY PASSWORD '*8B300979B49556C62DFB9C8941E08E0CF5184A95' WITH GRANT OPTION |

 | GRANT ALL PRIVILEGES ON `esci\_test`.* TO 'RnE0LXGMQhHN'@'%' WITH GRANT OPTION                                                                                                                                                                                                                                                                                                                                                   |

 +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

  rows in set (0.00 sec)

 mysql> show grants for root;

 +--------------------------------------------------------------------------------------------------------------------------------+

 | Grants for root@%                                                                                                              |

 +--------------------------------------------------------------------------------------------------------------------------------+

 | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*338D1B0459CF4789AD78DAC80B1CC8ED12BEEEAF' WITH GRANT OPTION |

 +--------------------------------------------------------------------------------------------------------------------------------+

  row in set (0.00 sec)

参考资料:

http://www.phperz.com/article/14/1208/39952.html

https://www.oschina.net/code/snippet_222150_12541

http://www.cnblogs.com/visec479/p/4200568.html

linux下使用正确的用户名密码,本地无法连接mysql的更多相关文章

  1. 【调试】Core Dump是什么?Linux下如何正确永久开启?

    [调试]Core Dump是什么?Linux下如何正确永久开启?

  2. linux下安装php报错configure: error: Cannot find MySQL header files under /usr/include/mysql.

    linux下安装php报错configure: error: Cannot find MySQL header files under /usr/include/mysql. 2013-03-04 1 ...

  3. CentOS下php使用127.0.0.1不能连接mysql的解决方法

    这篇文章主要介绍了CentOS下php使用127.0.0.1不能连接mysql的解决方法,本文原因是SELINUX导致的连接失败,需要的朋友可以参考下 php代码很简单: 复制代码代码如下: $ser ...

  4. svn之——linux下清除svn的用户名和密码

    问题:之前用的svn账号权限不够,需要使用别的账号,所以提出需求——怎么使用新的svn账号进行操作 方法一: linux下删除~/.subversion/auth即可清除之前的用户名和密码:rm -r ...

  5. linux下用crunch工具生成密码

    crunch是一款linux下的压缩后仅仅38k的小程序,crunch程序在2004年及以前由email为的作者编写mimayin@aciiid.ath.cx,后续版本由bofh28@gmail.co ...

  6. linux下的ssh工具之,本地上传到linux服务器and Linux服务器文件另存为本地。非sftp工具。

    首先,当你只有一个ssh工具可以连接linux,但你有想把文件在 linux 和windows(本地)直接的切换.其实可以的: 本文参考 1.将本地的文件,放到ssh远程的linux服务器上: 首先要 ...

  7. Linux下更改正确国内时间

    Linux使用小Tips 整理些Linux些常遇到的问题. Linux下设置时间 提供两种最根本有效的方式,就是更改时区.这里以更改为国内上海时间例子,其他地方时区同理. 方法一 备份文件 mv /e ...

  8. Linux下抓取登陆用户密码神器mimipenguin

    windows下有Mimikatz,现在linux下有了mimipenguin,国外安全研究员huntergregal发布了工具mimipenguin,一款Linux下的密码抓取神器,弥补了Linux ...

  9. Windows下让Git记住用户名密码(https)

    最近开始跟老板共同维护公司的框架代码,于是毫不犹豫地选择了Git这个驰名的版本控制系统(公司使用的是TFS,但外网访问老是断线). 选择的托管平台是OSChina,原因是其可以新建私有项目. 在拉取和 ...

随机推荐

  1. Direct3D11学习:(一)开发环境配置

    转载请注明出处:http://www.cnblogs.com/Ray1024   从今天开始,开启一个新的系列:Direct3D11的学习教程. 因为一直对3D方面比较感兴趣,最近决定开始学习D3D知 ...

  2. GitLab安装说明

    GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. gitlab是基于Ruby on Rails的, ...

  3. mysql 线上not in查询中的一个坑

    今天早上开发又过来说,怎么有个语句一直没有查询出结果,数据是有的呀,并发来了如下的sql(为了方法说明,表名及查询均做了修改): select * from t2 where t2.course no ...

  4. [ShortCut] IE10快捷键

    适用范围: Windows 8 操作步骤: 1.快速输入网址: “Ctrl+L”.“F4”:在IE10下按下“Ctrl+L”快捷键,可以直接将光标转到浏览器地址栏(注:地址栏中的网址会被选中),可以直 ...

  5. 字符串 - 近似回文词 --- csu 1328

    近似回文词 Problem's Link:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1328 analyse: 直接暴力枚举每一个终点,然后枚举 ...

  6. WebApi中跨域解决办法

    在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案.由于时间有限,本文不会深入. 笔者遇到的问题是Js调用WebAPI中的数据进行跨域的场景.涉及若干跨域方案: 方案1:j ...

  7. 很有趣的Java分形绘制

    部分与整体以某种形式相似的形,称为分形. 首先我们举个例子:        我们可以看到西兰花一小簇是整个花簇的一个分支,而在不同尺度下它们具有自相似的外形.换句话说,较小的分支通过放大适当的比例后可 ...

  8. 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

    摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...

  9. 刚刚开通博客,分享Asp.Net的GridView的基本用法

    包含有 数据的编辑,删除, 标题的添加,自定义分页,高亮显示鼠标所在,以及数据不足时添加空行 aspx页面代码 <asp:GridView ID="GridView1" ru ...

  10. 重新想象 Windows 8.1 Store Apps (74) - 新增控件: Flyout, MenuFlyout, SettingsFlyout

    [源码下载] 重新想象 Windows 8.1 Store Apps (74) - 新增控件: Flyout, MenuFlyout, SettingsFlyout 作者:webabcd 介绍重新想象 ...