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用户的处理过程的更多相关文章
- MySQL 5.7以上 root用户默认密码问题【转】
https://www.yanning.wang/archives/379.html 废话少说一句话系列: CentOS系统用yum安装MySQL的朋友,请使用 grep "temporar ...
- MySQL数据库(13)----忘记root用户密码解决方案【转载】
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录 ...
- MySQL 5.7以上 root用户默认密码问题
废话少说一句话系列: CentOS系统用yum安装MySQL的朋友,请使用 grep "temporary password" /var/log/mysqld.log 命令,返回结 ...
- centos7 安装rpm版的mysql遇到坑——误删root用户的恢复
在网上找了教程http://blog.csdn.net/frankcheng5143/article/details/77609093安装过程很顺利,随着修改了root的密码后不下心误删了root账号 ...
- MySQL 多实例给root用户创建密码
DB:5.5.14 OS:CentOS 6.3 安装多实例MySQL数据库,安装完成后默认无密码,一次性给所有实例的root账户创建密码: #!/bin/bash for i in {3361..3 ...
- DM8168 自己主动登录root用户
①指定连接: <DM8168># ln -s /bin/busybox /sbin/getty ②改动/etc/inittab文件: <DM8168># vi /etc/ini ...
- mysql 授权新的root用户
grant all privileges to *.* on system@'localhost' identified by 'woshishui' with grant option;
- centos误删mysql root用户找回办法
一天,我进入mysql后,查看所有用户 select host,user from mysql.user; 发现好多用户名, 太乱了,删除..... delete from user where us ...
- MySQL 8.0 以上版本重置 root 用户密码的终极办法
1. 在 /etc/my.cnf 文件末尾追加 skip-grant-tables [root@abdefg mysql]# vim /etc/my.cnf [mysql] # 设置mysql客户端默 ...
- 非root用户的SSH免密登录
在网上找到的教程一般是这样说的 cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost ssh-keygen -t rsa # 会有提示,都按回车就可以 cat id_rsa. ...
随机推荐
- 云小课|MRS基础原理之Flink组件介绍
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Flink是一个批 ...
- 基于Redis + Lua脚本的设计红包雨
摘要:红包雨是一个典型的高并发场景,短时间内有海量请求访问服务端,为了让系统运行顺畅,抢红包采用了基于 Redis + Lua 脚本的设计方案. 本文分享自华为云社区<红包雨中:Redis 和 ...
- Centos7 怎么永久关闭防火墙
1.连接到centos主机,然后输入命令"systemctl status firewalld.service"并按下回车键. 2.然后在下方可以查看得到 " activ ...
- module 'numpy' has no attribute 'int'.
原因:np.int 在 NumPy 1.20 中已弃用,在 NumPy 1.24 中已删除 AttributeError: module 'numpy' has no attribute 'int'. ...
- Axure 标记元件
快照:可以用来表示控件的截图功能 箭头:有了连线,基本很少用它 便签:相关于便利贴,写些说明.备注, 标记:标记好数字,对应数字的标记做解释说明
- 【django-vue】登录、注册前端实现 redis介绍 redis安装 python操作redis redis连接池 Redis之字符串类型
目录 上节回顾 今日内容 1 登录前台 多方式登录 短信登录 Login.vue 2 注册前台 注册功能 Header.vue 3 redis介绍 3.1 redis应用场景 3.2 redis安装 ...
- 阿里云云通信作为 CPaaS 全球代表服务商,上榜 Gartner 报告
近日,国际知名研究机构Gartner发布2022年<CPaaS市场指南(Market Guide for Communications Platform as a Service, 2022)& ...
- Java Kafka 消费积压监控
Java Kafka 消费积压监控 后端代码: Monitor.java代码: package com.suncreate.kafkaConsumerMonitor.service; import c ...
- C++岗位面试真题宝典 -- 语言基础篇
一.C++语言基础 1.1.1 简述下C++语言的特点 参考回答: C++在C语言基础上引入了面对对象的机制,同时也兼容C语言. C++有三大特性(1)封装.(2)继承.(3)多态: C++语言编写出 ...
- vue tabBar导航栏设计实现3-进一步抽取tab-item
系列导航 一.vue tabBar导航栏设计实现1-初步设计 二.vue tabBar导航栏设计实现2-抽取tab-bar 三.vue tabBar导航栏设计实现3-进一步抽取tab-item 四.v ...