MySQL 安装时的 1045 错误通常是因为用户名或密码输入错误或者没有授权的账户尝试连接MySQL数据库,导致连接被拒绝。如果你遇到了这个问题,可以按照以下步骤解决。
错误示例
当导入数据库时,出现以下错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
此时说明你的用户名或者密码不正确,导致MySQL认为你没有权限连接数据库。
解决方法
1. 设置 root 用户密码
首先,在 MySQL 安装目录下运行以下命令:
sudo bin/mysqld_safe --skip-grant-tables &
该命令会启动 mysqld_safe 进程作为系统进程,并跳过授权表的验证过程。接下来,使用如下命令启动 MySQL 实例:
mysql -u root mysql
进入数据库之后,输入以下命令设置 root 用户的密码:
update user set password=PASSWORD("newpassword") where User='root';
更改过后,使用如下命令刷新权限表:
flush privileges;
最后使用以下命令退出数据库并关闭 MySQL 实例:
exit;
2. 重置 root 用户密码
有时候,在忘记或者丢失 root 用户密码的情况下需要使用此方法:
首先,停止 MySQL 服务:
sudo service mysql stop
然后,使用如下命令启动 MySQL 实例:
sudo mysqld_safe --skip-grant-tables --skip-networking &
其中,--skip-grant-tables
跳过表授权步骤,--skip-networking
禁止本地之外的连接。
接下来,使用如下命令连接到 MySQL 数据库:
mysql -u root
在 MySQL 命令行中,输入以下命令:
use mysql;
update user set authentication_string=password('newpassword') where user='root';
flush privileges;
exit;
最后,重启 MySQL 服务:
sudo service mysql start
总结
如果出现 MySQL 安装时的 1045 错误,可以按照上述步骤解决。第一种方法可以修改 root 用户密码,第二种方法可以重置密码。记得在修改密码或重置密码之后需要刷新权限表并重启 MySQL 服务。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySql 安装时的1045错误 - Python技术站