我已经在这个网站上尝试了所有其他解决方案......无论如何它们似乎都是一样的。
通过任务管理器终止服务器,然后使用./mysqld --skip-grant-tables
选项重新启动它。
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;
重启mysqld
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
的服务器,但这对我没有任何好处,因为更改密码会在表中更改它肯定,但它不允许我登录相同。
有谁知道我做错了什么?
编辑:
尝试以下更改的相同程序:
通过任务管理器终止服务器,然后使用./mysqld --skip-grant-tables
选项重新启动它。
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'
启动mysqld
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连接器,因为我没有安装适当的软件。
EDIT2:
./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)
答案 0 :(得分:6)
解决:
之前我曾经在这台机器上安装了一次MySQL,不幸的是它似乎从未完全卸载过......我会认为之前的授权表干扰了安装。我完全删除了有关MySQL的所有内容并重新安装了它。它暂时似乎工作正常。我将尽快更改密码以确保....我更改了密码,这次它按预期工作。
获得的经验教训=确保删除以前安装的所有内容。不要只相信安装程序删除所有内容