Mysql localhost 无法登录 root用户的处理过程
2021/8/8 19:07:47
本文主要是介绍Mysql localhost 无法登录 root用户的处理过程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
问题说明:
- 前段时间同事修改密码, 但是发现修改了密码之后,外面可以连接root用户, 但是本地无法连接了. 怀疑是密码修改存在问题,需要重新进行处理
- 这里进行简单的描述.
问题现象
- 使用 mysql -uroot -p 输入给的密码之后提示无法登录
[root@centos7ver2009 ~]# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
怀疑是密码改错了, localhst和% 的密码设置的不一致导致的.
- 使用 navicat进行连接, 然后尝试进行密码修改提示信息为:
SELECT command denied to user 'root'@'192.168.1.53' for table 'user'
所以总结一下问题原因:
1. 密码修改成功了, 但是 localhost的用户 的用户密码修改的不对, 自己也记不住了. 2. % 的账户密码修改正确 但是把部分权限搞没了, 需要进行处理.
问题解决
- 因为数据库是 mysql8 的环境, 跟之前的一些环境不太一样, 所以这里需要总结一下.
1. 修改 /etc/my.conf 增加 skip-grant-tables 注意修改完之后需要重启mysql systemctl restart mysqld 2. 这样修改之后外面的连接无法连接, 仅能够在本地进行连接. mysql -uroot 3. 注意 使用了skip-grant-tables的权限就没法使用 alter identified 的密码了. 找了一下可以使用如下命令修改密码 UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost'; 将密码设置为空. 4. 注释掉步骤1 里面的 skip 指令 继续重启mysql数据库 5. 使用空密码登录mysql mysql -u root 6. 修改数据库密码 alter user 'root'@'%' identified by '别再忘记了'; alter user 'root'@'localhost' identified by '别再忘记了'; flush privileges; 7. 再次退出,验证可以使用正常密码登录了. 8. 还要解决 外面机器无法进行select 的问题 找一个别的机器 创建成insert 语句 过来在 mysql的命令行里面直接执行. INSERT INTO `mysql`.`user`(`Host`, `User`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Show_db_priv`, `Super_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Execute_priv`, `Repl_slave_priv`, `Repl_client_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Create_user_priv`, `Event_priv`, `Trigger_priv`, `Create_tablespace_priv`, `ssl_type`, `ssl_cipher`, `x509_issuer`, `x509_subject`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`, `plugin`, `authentication_string`, `password_expired`, `password_last_changed`, `password_lifetime`, `account_locked`, `Create_role_priv`, `Drop_role_priv`, `Password_reuse_history`, `Password_reuse_time`, `Password_require_current`, `User_attributes`) VALUES ('%', 'root', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, 'mysql_native_password', '*23234234', 'N', '2021-06-11 10:55:31', NULL, 'N', 'Y', 'Y', NULL, NULL, NULL, NULL); 9. 注意我两个用户的密码是一样的, 所以比较省事, 不然还得再改一遍. 有密文密码 我给加了处理,不要直接使用. 10. 使用 navicat 可以进行连接.
这篇关于Mysql localhost 无法登录 root用户的处理过程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程