MySQL误删除授权表 root 记录,无法登陆怎么办?

赞赏 2016-07-12

数据库 MySQL 的 user 授权表默认有三条 root 账号记录,如下图。
如操作误删除,同时没有正确插入,再次登陆 MySQL 会报错如下:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)。

MySQL误删除授权表 root 记录,无法登陆怎么办?

 启动到安全模式下重新授权也无法成功登陆,因安全模式已经跳过授权表,报错如下:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement



解决办法:

可参考如下步骤处理,建议在操作前创建磁盘快照进行备份,避免操作失误后可以迅速恢复。

1、修改 MySQL 配置文件启动到安全模式下:

# vi /etc/my.cnf 

注意:以实际 MySQL 配置文件 my.cnf 路径为准。

在[mysqld]的段中加上一句:skip-grant-tables 

保存并退出 vi 编辑器,重新启动 mysqld :

# /etc/init.d/mysqld restart 

2、登陆 MySQL ,并重新插入

#/usr/bin/mysql
#use mysql;

密码用password函数加密,比如密码为“aliyun“:

#mysql> select password('aliyun');

#mysql> insert into user (host,user,Password,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,max_questions,max_updates,max_connections,max_user_connections) values ("localhost","root","*2411E566C2C7E14C6946F80619D4BE802887A4DB","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");

#flush privileges;
#quit

3、打开 MySQL 配置文件,注释“skip-grant-tables” ,保存并退出。

重启 MySQL 后测试登陆正常:

#/etc/init.d/mysqld restart 
#mysql -uroot -paliyun

登陆后阅读全文
阅读 1491 赞赏 0 有用 1 没用 0 收藏 0 分享

   



0 条留言

linux分享的头像

linux分享

每个软件都有确定的用途

相关文章

Ubuntu安装MySQL提示Depends: mysql-server-5.5 but it is not going

mysql-bin.00000* 文件误删删除导致mysql启动不起来

Linux screen 提示:There is no screen to be resumed matching

MySQL 上传报错#1064-You have an error in your SQL syntax

Linux 下 MySQL 无法访问的问题如何排查?

Linux下如何授权 MySQL 外网访问?

Linux系统如何查看 MySQL 版本号?

Ubuntu或Debian系统内如何卸载 MySQL 数据库服务?

Linux 系统下 MySQL 如何开启慢查询?

MySQL导入数据报错:Got a packet bigger than max_allowed_packet

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

我是如何执行 "rm -rf ~" 的

正态分布为什么常见?(财富的分布却不符合正态分布)

Linux下窗口管理器 xmonad 的使用教程

用披萨做比喻来解释 IaaS,PaaS,SaaS 的区别

如何制作CSR(证书私钥和证书请求文件)文件?

php RedisException with message read error on connection

Windows环境下ping丢包或不通时链路测试工具推荐

Linux下ping丢包或不通时链路测试工具推荐

链路测试结果分析说明及常见链路异常场景和测试报告

SSH 登录时出现如下错误:login: Module is unknown

手机扫一扫
分享文章