繁体   English   中英

MySQL root 密码在 Windows 中不起作用

[英]MySQL root password does not work in Windows

我已经尝试了这个网站上的所有其他解决方案。不管怎样,它们似乎都是一样的。

  1. 通过任务管理器终止服务器,然后使用./mysqld --skip-grant-tables选项重新启动它。

  2. PS C:\Program Files\MySQL\MySQL Server 5.6\bin>./mysqld --init-file='C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql-init.txt'

    mysql-init.txt:

     UPDATE mysql.user SET Password=PASSWORD('root') WHERE User='root'; FLUSH PRIVILEGES;
  3. 重启mysqld

  4. PS C:\Program Files\MySQL\MySQL Server 5.6\bin>./mysql --user=root -p

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

我可以在启用--safe --skip-grant-tables的情况下访问服务器,但这对我没有任何好处,因为在那里更改密码肯定会在表中更改它,但是它不允许我仅登录相同的。

有谁知道我做错了什么?


编辑:

尝试了相同的程序并进行了以下更改:

  1. 通过任务管理器终止服务器,然后使用./mysqld --skip-grant-tables选项重新启动它。

  2. PS C:\Program Files\MySQL\MySQL Server 5.6\bin>./mysqld --init-file='C:\\Program Files\\MySQL\\MySQL Server 5.6\\bin\\mysql-init.txt'

  3. 启动mysqld

  4. PS C:\Program Files\MySQL\MySQL Server 5.6\bin>./mysql --user=root -p

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

注意:我在使用和不使用./mysqld --skip-grant-tables选项的情况下尝试了此解决方案。

是否存在我可能犯的其他错误或可能导致此过程无效的原因。 我听说过一些有关确保 innodb 表目录正确的信息……但我找不到这方面的更多信息。 此外,我的安装不包括 ODBC 连接器,因为我没有为其安装合适的软件。


编辑2:

./mysqld --skip-grant-tables

./mysql -u root -p Enter password: ****

~

mysql> select * from user where user='root'\G *************************** 1. row *************************** Host: % User: root Password: *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Reload_priv: Y Shutdown_priv: Y Process_priv: Y File_priv: Y Grant_priv: Y References_priv: Y Index_priv: Y Alter_priv: Y Show_db_priv: Y Super_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Execute_priv: Y Repl_slave_priv: Y Repl_client_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Create_user_priv: Y Event_priv: Y Trigger_priv: Y Create_tablespace_priv: Y ssl_type: ssl_cipher: x509_issuer: x509_subject: max_questions: 0 max_updates: 0 max_connections: 0 max_user_connections: 0 plugin: authentication_string: password_expired: N 1 row in set (0.00 sec)

解决了:

我以前在这台机器上安装了一次MySQL,不幸的是它似乎从未完全卸载过......我会认为以前的授权表干扰了安装。 我完全删除了有关MySQL的所有内容并重新安装了它。 它暂时似乎工作正常。 我将尽快更改密码以确保....我更改了密码,这次它按预期工作。

获得的经验教训=确保删除以前安装的所有内容。 不要只相信安装程序删除所有内容

在通过 MySQL 安装程序在 Windows 11 上安装 MySQL Server 8.0 后,我也遇到了类似的问题。

主要问题是我在安装期间为我的 root 用户设置的密码包含无效字符,我还为我在安装期间创建的其他用户设置的密码包含无效字符。

我通过从头开始完全删除并重新安装 MySQL 服务器解决了这个问题。

在安装过程中,我为 root 用户输入了一个简单的密码,该密码仅包含字母数字字符,并且还避免了在 root 用户之外创建任何其他用户。

这对我有用,因为之后我可以使用用户名“root”和我在安装期间设置的密码连接到服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM