mysql误删root后如何恢复root账户

系统:
CentOS release 6.5 (Final)
内核:
2.6.32-431.el6.x86_64
MySQL版本:
5.5.28-log Source distribution
操作步骤:
1.停止mysql服务
#service mysqld stop
2.以安全模式进入mysql
#mysqld_safe --skip-grant-tables &
#mysql -u root -p \此时密码为空
3.重建root
mysql>USE mysql;
mysql>INSERT INTO user(host,user,password)
->VALUES(‘localhost‘,‘root‘,password(‘password‘)); \此处的密码可以后期设置
4.给root用户赋权限
update user set Host=‘localhost‘,select_priv=‘y‘, insert_priv=‘y‘,update_priv=‘y‘,Alter_priv=‘y‘,delete_priv=‘y‘,create_priv=‘y‘,drop_priv=‘y‘,reload_priv=‘y‘,shutdown_priv=‘y‘,Process_priv=‘y‘,file_priv=‘y‘,grant_priv=‘y‘,References_priv=‘y‘,index_priv=‘y‘,create_user_priv=‘y‘,show_db_priv=‘y‘,super_priv=‘y‘,create_tmp_table_priv=‘y‘,Lock_tables_priv=‘y‘,execute_priv=‘y‘,repl_slave_priv=‘y‘,repl_client_priv=‘y‘,create_view_priv=‘y‘,show_view_priv=‘y‘,create_routine_priv=‘y‘,alter_routine_priv=‘y‘,create_user_priv=‘y‘,event_priv=‘y‘,trigger_priv=‘y‘,create_tablespace_priv=‘y‘ where user=‘root‘;

  1. mysql> FLUSH PRIVILEGES //刷新
  2. 退出mysql,重启mysql服务,到此root账户恢复完成
    注:给root用户赋权限时,Event_priv、 Trigger_priv、Create_tablespace_priv这三个权限必须添加,否则即使恢复了root用户也不能给其他用户赋予all privileges权限。

原文地址:http://blog.51cto.com/169293/2073444

时间: 2024-08-28 19:18:43

mysql误删root后如何恢复root账户的相关文章

MySQL数据库删除后的恢复工作

上午不小心把昨天刚刚建好的一个数据库删了个精光!幸好mysql中开启了日志功能. 下面总结一下数据库删除后的恢复方法: 首先:将最近的二进制类型的日志文件存成文本文件导出,命令如下: mysqlbinlog  F:/wamp/mysql-bin.000045  > F:/test.txt 其次:打开保存的txt文件,文件格式如下: 其中at 1099代表第1099个命令(姑且这么记),查询这些命令,看看你需要回复的命令在什么地方,然后执行命令. 最后:执行回复命令,如下: mysqlbinlog

linux 7.2误删glibc后的恢复

今天要在一台测试服务器上装Oracle,用yum安装依赖包老是提示glibc版本冲突,原来已经安装的版本比较高,于是手欠直接rpm -e 把glibc和glibc-common给删除了,然后运维直接来找我说服务器登录不上去了,然后我这边也一直在报错: -bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory 不管执行什么操作都是报上面的错误,心想这下完蛋了,是不是

phpmyadmin误删表后的恢复过程

话说今天不知道是抽风了还是失魂了,在用phpmyadmin删除测试数据时,竟然将整个表删除了: 等程序运行出错时,才出现整个表都没有了,而且之前也没有备份好!这下蛋疼了,这个可是production服务器,里面的数据可不能丢啊! 服务器是linux的,我不是很熟悉,也不知道mysql装在哪. 无奈之下,google,发现有不少人也有像我一样犯傻的一回,但是几乎没有看到具体的解决方法(有说用硬盘软件找回,也有说用二进制文件找回),但是我本身对服务器不大懂,觉得好纠结,那边又在催说数据怎么没有了,还

phpmyadmin误删表后如何恢复

用mysqlbinlog php处理代码: 将mysql-bin.xxxxxx文件导出为可读文本: <?php //导出mysql-bin.000xxx文件为可读性txt文本 //0为执行成功,1为失败 //system("cd D:/wamp/bin/mysql/mysql5.5.8/data",$comReturn); for ($i=200;$i<267;$i++){ $command = "D:/wamp/bin/mysql/mysql5.5.8/bin/

mysql数据库误删除后的数据恢复操作说明

在日常运维工作中,对于mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办??? 下面,就mysql数据库误删除后的恢复方案进行说明. 一.工作场景(1)MySQL数据库每晚12:00自动完全备份.(2)某天早上上班,9点的时候,一同事犯晕drop了一个数据库!(3)需要紧急恢复!可利用备份的数据文件以及增量的binlog文件进行数据恢复. 二.数据恢复思路(1)利用全备

[mysql]重装windows后恢复mysql及&quot;Access denied for user&#39;root&#39;@&#39;IP&#39;&quot;问题的处理

mysql数据库实际上是绿色软件,重装系统后还是可以继续使用的. 1.重装系统后保留原先的mysql安装目录和数据目录. 2.制作一个批处理文件用于启动mysql:[run.bat]该文件存放在mysql安装目录下的bin下. mysqld.exe --defaults-file=../my-default.ini --console 3.执行run.bat即可. 如果连接数据库时出现以下错误:"Access denied for user'root'@'IP'" 1. 管理员登陆系统

mysql误删root用户恢复方案

linux下误删mysql的root用户,解决方法 开始对liunx界面不熟悉,可能由于不小心,把root误删了,怎么办? 1. # killall mysqld    干掉所有mysql进程 2. # mysqld_safe --skip-grant-tables &   进入mysql安全模式 3. 通过上一步进入mysql的console(控制台),输入:mysql -p 以root用户进入系统,因为root用户是默认存在的,前面我们误删的只是mysql表了的. 4. 提示,Enter p

误删root用户,如何恢复

误删root用户,如何恢复 1.修改配置文件,获取权限登录 [email protected]#vi /etc/my,cnf 添加:skip-grant-tables [email protected]#systemctl restart mysqld 2.登录创建root用户 [email protected]#mysql mysql>use mysql; insert into user set user='root',ssl_cipher='',x509_issuer='',x509_su

mysql 安装完成后登陆不了mysql的 shell 即mysql&gt;遇到:ERROR 1045 (28000): Access denied for user &#39;root&#39;@&#39;localhost‘

[[email protected] ~]# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 遇到:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 网上找了很多的文章还是没有解决我的问题: 1.首先可以确认的是mysql 命令行 sql命令关键字是不区