加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

当遇到MySQL 1045错误时该怎么办

发布时间:2023-10-13 13:30:21 所属栏目:MySql教程 来源:
导读:这篇文章给大家分享的是有关mysql出现1045错误怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。--mysql5.6,安装好后进行登录出现[root@mytest_db usr]# mysql -uroot -pEnter pa

这篇文章给大家分享的是有关mysql出现1045错误怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

--mysql5.6,安装好后进行登录出现

[root@mytest_db usr]# mysql -uroot -p

Enter password:

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

提示密码问题,再用命令修改,也会出现以下错误

[root@mytest_db usr]# mysqladmin -u root password 'petrel'

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: NO)'

这个时候需要用这种方法进行处理

--重启mysql服务,采用mysqld_safe的方式进行

[root@mytest_db usr]# service mysql stop

Shutting down MySQL...[ OK ]

[root@mytest_db usr]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

[1] 5043

启动后,就可以直接不用密码直接进入了,这个时候重新设置密码

[root@mytest_db usr]# mysql -uroot

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> update user set Password=PASSWORD('petrel') where user = 'root';

Query OK, 4 rows affected (0.00 sec)

Rows matched: 4 Changed: 4 Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> quit

Bye

[root@mytest_db usr]# service mysql restart

这个时候,再进行登录就没问题了

[root@mytest_db data]# mysql -uroot -ppetrel

Warning: Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.6.19

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

登录后,需要再进行一次密码设置才能使用。

mysql> use mysql;

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

mysql> grant all privileges on *.* to root@'localhost'  identified  by 'petrel';

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

mysql> set PASSWORD=PASSWORD('petrel');

Query OK, 0 rows affected (0.00 sec)

--出现mysql.user表里面用户为空时出现

ERROR 1045 (28000): Access denied for user

这个时候可以进行如下处理

删除这些为空的用户或者更新为其他用户名

删除user.user中值为NULL的,或更新NULL为其它值等

mysql> delete from user where user is NULL

Query OK, 1 rows affected (0.00 sec)

或者更新为其它值

mysql> update user set user='mytest' where user is NULL

Query OK, 1 rows affected (0.00 sec)

--如果mysql.user表里面没有可以访问的用户,也会出现

MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)

这个时候,我们就要采用如下步骤进行

[root@mytest_db usr]# service mysql stop

Shutting down MySQL...[ OK ]

[root@mytest_db usr]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

[root@mytest_db usr]# mysql -uroot

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select * from user;

发现没有用户

mysql> INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'username', PASSWORD(‘yourpassword'), 'Y', 'Y','Y');

Query OK, 1 row affected, 3 warnings (0.00 sec)

感谢各位的阅读!关于“mysql出现1045错误怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章