首先要注意的是:
当登录时出现,ERROR 1130 (HY000): Host 'localhost' is not allowed to connect to this MySQL server,我们就需要修改密码;
我是用的是MySQL命令行共工具来修改密码:
1、停止MySQL服务: 在Windows上,你可以通过服务管理器停止MySQL服务,或者使用以下命令
net stop mysql
2、以安全模式启动MySQL服务: 在MySQL 8.0中,你应该使用--initialize-insecure
来启动mysqld,允许无密码登录:
mysqld --initialize-insecure --console
注意在版本mysql 8.0以及更高的版本中,--skip-grant-tables
选项已被弃用了
这将创建一个新的数据目录,并且不设置root密码。
3、登录MySQL并修改密码:
重新打开一个命令行窗口,输入
mysql -u root;
在MySQL提示符下,执行以下命令来设置新密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
EXIT;
4、正常启动MySQL服务:
net start mysql
注意的是:
第二部出现这个才行:
D:\mysql\mysql-8\bin>mysqld --initialize-insecure --console 2024-08-24T08:37:21.868590Z 0 [Warning] [MY-010918] [Server] 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead. 2024-08-24T08:37:21.868603Z 0 [System] [MY-013169] [Server] D:\mysql\mysql-8\bin\mysqld.exe (mysqld 8.0.28) initializing of server in progress as process 27324 2024-08-24T08:37:21.891255Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2024-08-24T08:37:22.324922Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2024-08-24T08:37:24.132163Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
若看不出开,可以将MySQL目录下的data目录删除后重试