MySQL错误访问被拒绝

时间:2014-10-07 11:01:13

标签: mysql ubuntu-14.04

我尝试在 Ubuntu 14.04 上配置 MySQL服务器。安装后,它运行良好,包括shell mysql和MysqlWorkbench。

我重新启动系统后,一切都停止了。如果我尝试连接shell,我会得到这个:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

我与任何用户都收到此错误...即使使用--skip-grant-tables选项,我也无法访问任何内容。尽管服务器似乎正常运行,但Workbench的连接测试也不起作用。

当我安装mysql服务器时,我被要求提供一个root密码,我选择了一个非常简单的密码,因为我将它用于调试环境,所以我不认为#&# 39;拼写错误的问题。

我想我已经尝试了所有可用的提示,但仍然无法访问服务器。

任何帮助都会受到赞赏。 非常感谢你提前!!

编辑1:这是my.cnf的一部分

 [mysqld]
#
# * Basic Settings
#
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 127.0.0.1

服务器似乎正在运行:

juan@Juancho:~$ sudo netstat -tap | grep mysql
tcp        0      0 localhost:mysql         *:*                     ESCUCHAR    1158/mysqld     

1 个答案:

答案 0 :(得分:0)

这是官方文档,因为您的问题可能是由各种各样的事情引起的。而且你的问题没有详细描述你的问题。

http://dev.mysql.com/doc/refman/5.0/en/access-denied.html

我想引用文档以了解最常见的"初学者错误"

  

确保服务器尚未配置为忽略网络   连接或(如果您尝试远程连接)它有   尚未配置为仅在其网络接口上本地侦听。   如果服务器是使用--skip-networking启动的,则不会接受   完全是TCP / IP连接。如果服务器已启动   --bind-address = 127.0.0.1,它将仅在本地环回接口上侦听TCP / IP连接,并且不接受远程接口   连接。


  

如果您收到以下错误,则表示您正在使用   root密码错误:

     
    

"壳> mysqladmin -u root -pxxxx ver拒绝用户访问     '根' @'本地主机' (使用密码:是)"

  
     

如果您未指定a,则发生上述错误   密码,表示您在某些密码中列出了错误的密码   选项文件。


  

localhost是本地主机名的同义词,也是   如果未指定主机,则客户端尝试连接的默认主机   明确。

     

要在此类系统上避免此问题,可以使用--host = 127.0.0.1   显式命名服务器主机的选项。这将构成TCP / IP   连接到本地mysqld服务器。您也可以使用TCP / IP   指定使用本地实际主机名的--host选项   主办。在这种情况下,必须在用户表中指定主机名   即使您正在运行客户端程序,服务器主机上的行也是如此   在与服务器相同的主机上。

希望这可能对你有所帮助。

如果这不能解决您的问题,您可能只是输入了错误的密码,因此请按照以下方式解决问题"。

如果您只是设置了服务器,那么很有可能在您的bash历史记录中获得它。要检查这一点,请键入历史记录并搜索您的命令,在最好的情况下,该命令包含您的明文通行证。

大多数情况下上面都不是一个选项,要解决这个问题,你必须在那里搜索你的系统维护用户(位于/etc/mysql/debian.cnf上的Debian),你会看到维护用户的用户名和密码。 使用该用户连接到数据库并使用grant命令更改用户的详细信息。