MySQL root 用户丢失,全新安装

MySQL root 用户丢失,全新安装

我使用全新安装了 MySQL ( 5.0.75-0ubuntu10.5) apt-get。在安装过程中,系统提示我输入我设置的 MySQL root 密码。从那时起,我一直尝试使用 root 帐户登录,但无济于事。我总是收到以下消息:

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

我已经关注指示以便将 root 密码重置为其他密码。我注意到 root 用户未出现在 mysql.user 表中。我在那里拥有的唯一用户是debian-sys-maint

手动启动 MySQL 服务器时,我得到以下信息:

sudo /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --  user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
101110 13:08:59  InnoDB: Started; log sequence number 0 43655
101110 13:08:59 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.75-0ubuntu10.5'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)

启动 MySQL 服务器时,syslog 中会出现以下内容:

Nov 10 13:11:49 spiros mysqld_safe[14705]: started
Nov 10 13:11:49 spiros mysqld[14709]: 101110 13:11:49  InnoDB: Started; log sequence number 0 43655
Nov 10 13:11:49 spiros mysqld[14709]: 101110 13:11:49 [Note] /usr/sbin/mysqld: ready for connections.
Nov 10 13:11:49 spiros mysqld[14709]: Version: '5.0.75-0ubuntu10.5'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)
Nov 10 13:11:50 spiros /etc/mysql/debian-start[14745]: Upgrading MySQL tables if necessary.
Nov 10 13:11:50 spiros /etc/mysql/debian-start[14757]: Looking for 'mysql' as: /usr/bin/mysql
Nov 10 13:11:50 spiros /etc/mysql/debian-start[14757]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Nov 10 13:11:50 spiros /etc/mysql/debian-start[14757]: This installation of MySQL is already upgraded to 5.0.75, use --force if you still need to run mysql_upgrade
Nov 10 13:11:50 spiros /etc/mysql/debian-start[14759]: Checking for insecure root accounts.
Nov 10 13:11:50 spiros /etc/mysql/debian-start[14763]: Triggering myisam-recover for all MyISAM tables

多次重置密码并清除权限后我仍然无法登录。

有任何想法吗?

答案1

我也为此苦苦挣扎了几个小时,但 Spiros 的答案对我很有帮助 - 之后我可以使用

mysql -uroot -p [enter]

(这意味着密码为空 - 然后我通过运行重置 root 密码

sudo dpkg-reconfigure mysql-server-5.1

它会提示输入 root 密码。然后我可以使用 root 用户和密码像上面一样登录。安装时没有 root 用户,这很奇怪...(但现在可以正常工作了,感谢 Spiros!)

答案2

我在 VPS(Gigatux)上安装 Debian 时也遇到了同样的问题。命令“dpkg-reconfigure mysql-server-5.1”允许我设置/重置 root MySQL 密码,但身份验证仍然会失败,并显示错误“拒绝用户‘root’@‘localhost’访问”

最终,我的问题是由于在安装 MySQL 时没有对 /tmp 文件夹设置正确的权限而导致的。我的 /tmp 文件夹的权限是“drwxr-xr-x”,而它应该是“drwxrwxrwt”。即使设置了正确的权限,我也无法修复该问题,我必须在安装 MySQL 之前设置权限。

我已经详细记录了我的经历http://www.craigdodd.co.uk/2012/01/missing-root-account-in-mysql/如果有人感兴趣的话。

相关内容