错误1045(28000):拒绝用户'root'@'localhost'的访问(未使用密码)

16

我无法访问MySQL v.5.6.14。我之前有权限,但突然失去了权限。

在查找笔记时,我发现了下面的网址。我按照步骤操作,但没有成功。http://dev.mysql.com/doc/refman/5.5/en/resetting-permissions.html

C:\Program Files\MySQL\bin>mysqld

2013-11-14 19:46:01 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details)

C:\Program Files\MySQL\bin>mysql -u root mysql1

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

注意:我在MySQL版本中没有 mysqld_safesafe_mysqld 文件。

请帮助我,您可以在下面看到由命令生成的转储文件:

C:\mysqld --init-file=C:\\mysql-init.txt

C:\Program Files\MySQL\bin>mysqld --init-file=C:\\mysql-init.txt --console

2013-11-14 17:57:20 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated.     Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2013-11-14 17:57:20 5180 [Note] Plugin 'FEDERATED' is disabled.
2013-11-14 17:57:20 5180 [Note] InnoDB: The InnoDB memory heap is disabled
2013-11-14 17:57:20 5180 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked     functions
2013-11-14 17:57:20 5180 [Note] InnoDB: Compressed tables use zlib 1.2.3
2013-11-14 17:57:20 5180 [Note] InnoDB: Not using CPU crc32 instructions
2013-11-14 17:57:20 5180 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2013-11-14 17:57:20 5180 [Note] InnoDB: Completed initialization of buffer pool
2013-11-14 17:57:20 5180 [ERROR] InnoDB: .\ibdata1 can't be opened in read-write mode
2013-11-14 17:57:20 5180 [ERROR] InnoDB: The system tablespace must be writable!
2013-11-14 17:57:20 5180 [ERROR] Plugin 'InnoDB' init function returned error.
2013-11-14 17:57:20 5180 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2013-11-14 17:57:20 5180 [ERROR] Unknown/unsupported storage engine: InnoDB
2013-11-14 17:57:20 5180 [ERROR] Aborting
2013-11-14 17:57:20 5180 [Note] Binlog end
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'partition'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_METRICS'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_CMPMEM'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_CMP'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_LOCKS'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'INNODB_TRX'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'BLACKHOLE'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'ARCHIVE'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'MRG_MYISAM'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'MyISAM'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'MEMORY'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'CSV'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'sha256_password'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'mysql_old_password'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'mysql_native_password'
2013-11-14 17:57:20 5180 [Note] Shutting down plugin 'binlog'
2013-11-14 17:57:20 5180 [Note] mysqld: Shutdown complete

C:\Program Files\MySQL\bin>

你试过使用 mysql -u root -p mysql1 吗? - gen_Eric
1
C:\Program Files\MySQL\bin>mysql -u root -p mysql1 输入密码: ****** 错误 1045 (28000): 用户'root'@'localhost'被拒绝访问(使用密码:是)C:\Program Files\MySQL\bin> - Marcos
5个回答

17

我遇到了相同的问题。对我而言,mysql -u root -p 运行成功了。后面会让你输入密码,你需要输入你之前设置的mysql密码。如果没有设置过密码,则默认密码可能是password。更多信息可以在这里查看。


默认密码是什么并没有提供太多信息。看起来是 password (可以打开一堆窗口进行检查!) - barlop

12

按照以下步骤操作:

  1. 完全停止MySQL服务器。可以通过访问Windows XP和Windows Server 2003中的“服务”窗口来完成,其中可以停止MySQL服务。

  2. 使用“运行”窗口中的“cmd”打开MS-DOS命令提示符。在其中使用cd命令导航到MySQL bin文件夹,例如C:\ MySQL \ bin。

  3. 在命令提示符中执行以下命令:mysqld.exe -u root --skip-grant-tables

  4. 将当前的MS-DOS命令提示符保持不变,并打开一个新的MS-DOS命令提示符窗口。

  5. 使用cd命令导航到MySQL bin文件夹,例如C:\ MySQL \ bin。

  6. 输入mysql并按Enter键。

  7. 现在应该可以使用MySQL命令提示符了。 输入use mysql;以切换到“mysql”数据库。

  8. 执行以下命令以更新密码:

    UPDATE user SET Password = PASSWORD('NEW_PASSWORD') WHERE User = 'root'; 
    

但是,您现在可以运行任何希望执行的SQL命令。

完成后关闭第一个命令提示符窗口,在第二个命令提示符窗口中键入exit;以成功断开连接。现在可以启动MySQL服务。


1
分享我的经验。在执行第8步时,如果有人遇到这样的错误:**ERROR 1054 (42S22): Unknown column 'Password' in 'field list'**。那么请按照此链接操作:https://dev59.com/m10a5IYBdhLWcg3wHlik#31122246 - Saurav Sahu
2
在新版本的mysql中使用以下命令:UPDATE user SET authentication_string = PASSWORD('NEW_PASSWORD') WHERE User = 'root'; - jfgrissom

1
以下是重置用户密码的步骤,以防您忘记,这也会解决您提到的错误。
首先,停止您的MySQL:
sudo /etc/init.d/mysql stop

现在以安全模式启动MySQL并跳过权限表:
sudo mysqld_safe --skip-grant-tables &

使用root登录:

mysql -uroot

并分配需要使用的数据库:

use mysql;

现在您需要做的是重置MySQL用户的root密码并重新启动MySQL服务:
update user set password=PASSWORD("YOURPASSWORDHERE") where User='root';

flush privileges;

退出并重新启动MySQL:

quit

使用命令sudo /etc/init.d/mysql stop停止MySQL服务,再使用sudo /etc/init.d/mysql start启动服务。现在,您设置的root密码应该可以正常使用了,请用以下命令进行检查:

mysql -u root -p

1
我遇到了同样的问题,可能是当我卸载它并尝试重新安装时发生的。 这是因为包含登录详细信息的数据库文件仍存储在电脑中,新密码将无法匹配旧密码。 因此,您可以通过仅卸载mysql,然后从C:驱动器(或您必须安装的任何位置)中删除剩余的文件夹来解决此问题。

0

你的问题在这里:

2013-11-14 17:57:20 5180 [ERROR] InnoDB: .\ibdata1 can't be opened in read-write mode

ibdata1文件存在问题 - 可能是权限发生了变化?或者其他进程正在使用它。它是否真的存在?

解决这个问题,可能会使一切都顺利起来。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接