我尝试在 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
答案 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命令更改用户的详细信息。