mysql误删root用户恢复方法

 装完数据库清理一些默认账号的时候不小心把root删除了,flush privileges 之后的新 root 忘了grant任何权限,查看mysqld选项里面有个 −−skip-grant-tables

 

代码如下:

#/usr/libexec/mysqld --verbos --help

 

mysql5.5手册说明如下

 

代码如下:

--skip-grant-tables

 

This option causes the server to start without using the privilege system at all, which gives anyone with access to the server unrestricted access to all databases. You can cause a running server to start using the grant tables again by executing mysqladmin flush-privileges or mysqladmin reload command from a system shell, or by issuing a MySQL FLUSH PRIVILEGES statement after connecting to the server. This option also suppresses loading of plugins, user-defined functions (UDFs), and scheduled events. To cause plugins to be loaded anyway, use the --plugin-load option.

--skip-grant-tables is unavailable if MySQL was configured with the --disable-grant-options option. See Section 2.10.2, “Typical configure Options”.

 

mysqld_safe是Unix/Linux系统下的MySQL服务器的一个启动脚本。这个脚本增加了一些安全特性,会在启动MySQL服务器以后继续监控其运行情况,并在出现错误的时候重新启动服务器。后台启动mysql

 

代码如下:

#mysqld_safe --skip-grant-tables &

 

如果没有root账户就添加一个

 

代码如下:

INSERT INTO user SET User='root',Host='localhost',ssl_cipher='',x509_issuer='',x509_subject='';

 

直接输入mysql连接并添加权限,这时候是不能使用grant命令的,只能用update

 

代码如下:

UPDATE user SET Select_priv='Y',Insert_priv='Y',Update_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',Alter_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',authentication_string='' WHERE User='root';

 

注意我用的是mysql是5.5版本,可能操作过程中sql语句或其他地方有不同,语句执行完毕之后需要flush privileges ,还可能要重新登录才行。

时间: 2024-12-02 18:36:15

mysql误删root用户恢复方法的相关文章

mysql误删root用户恢复方法_Mysql

装完数据库清理一些默认账号的时候不小心把root删除了,flush privileges 之后的新 root 忘了grant任何权限,查看mysqld选项里面有个 −−skip-grant-tables 复制代码 代码如下: #/usr/libexec/mysqld --verbos --help mysql5.5手册说明如下 复制代码 代码如下: --skip-grant-tables This option causes the server to start without using t

mysql误删root用户或者忘记root密码解决方法_Mysql

解决方法一: 到其他安装了Mysql的服务器(前提是要知道该服务器上Mysql的root用户密码),打开[Mysql的安装目录/var/mysql],将其中的user.frm.user.MYD.user.MYI三个文件拷贝到出问题服务器的[Mysql的安装目录/var/mysql]目录中.然后重启服务器. 解决方法二: 修改你的my.ini或my.cnf文件,在 [mysqld] 节下加入下面一行 skip-grant-tables 然后保存并重启 MySQL 服务. 下面你就可以以任何用户名密

MySQL数据库的root口令恢复方法总结

MySQL数据库的root口令恢复方法总结 方法一 1. 下载MySQL源码分发包,不用区分操作系统,我们需要的东西是一样的: 2. 重命名自己的mysql的data目录下的mysql文件夹为oldmysql: 3. 将源码包中data目录下的mysql目录复制到你的mysql的data目录下: 4. 重新启动mysql,现在mysql的授权关系同全新安装的一样,空密码登陆,然后自行调整授权: 5. 打开oldmysql这个库检查到底出现了什么问题 : 6. 如果有备份对系统中原有的数据库进行完

使用phpMyAdmin修改MySQL数据库root用户密码的方法

  这篇文章主要介绍了使用phpMyAdmin修改MySQL数据库root用户密码的方法,需要的朋友可以参考下 点击顶部的"SQL"标签进入sql命令输入界面.输入以下命令: 代码如下:update mysql.user set password=PASSWORD('jb51$123456') where user='root'; 然后点击右下角的"执行",没有报错就表示修改成功. 另外需要注意的是,如果你修改了root密码之后我们的phpMyAdmin的配置文件中

MysqL的root用户不允许远程连接

原文:MysqL的root用户不允许远程连接 今天程序报了异常:java.sql.SQLException: Access denied for user 'root'@'RJB-Z' (using passwrod). String url ="jdbc:mysql://192.168.1.169:3306/test"; 密码没错的,在命令行窗口都能登进去.上网查了下发现是因为root用户不允许远程连接,我在这个网站(http://xucons.javaeye.com/blog/27

修改mysql的root用户密码为空

公司的BBS使用的mysql数据库,每一次服务器重启都要手工启动mysql数据库. 很是纠结,今天使用一个精简版的mysql数据库.把目前BBS数据库进行迁移,迁移完毕后.发现原来这个mysql数据库不只是BBS使用.还有一个web应用使用的也是该数据库,但是该web应用使用mysql的root用户居然不能有密码的,坑爹啊! 木有办法只能修改目前的mysql数据库的root用户密码为空. 因为目前这个精简的mysql数据库的root用户密码为123456.查看了相关的资料,基本上如下: cmd下

在linux和windows服务器下忘记mysql的root密码重置方法

文章要介绍关于忘记mysql的root密码重置方法,同时介绍了在不同的操作系统,下面介绍了在linux和windows中的解决办法,有需要了朋友可以了解一下. 如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置: linux操作方法 在my.cnf的[mysqld]字段加入: 代码如下   skip-grant-tables 然后重启你的mysqld,这样久没有密码了. 然后进入mysql. 代码如下  UPDATE mysql.user SET Password=PASSWOR

Xampp中mysql的root密码修改方法总结

MySQL 的"root"用户默认状态是没有密码的,所以在 PHP 中您可以使用 mysql_connect("localhost","root","") 来连接 MySQL 服务器: 如果您想为 MySQL 中的"root"用户设置密码(例如:本机MySQL密码为 110),请在控制台中使用"mysqladmin"命令.例如: d:www.111cn.netxamppmysqlbinm

CentOS6.3安装MySQL5.6.10并修改MySQL的root用户密码

环境:CentOS 6.3 最小化缺省安装,配置好网卡. 安装MySQL前,确认Internet连接正常,以便下载安装文件. 先使用 yum -y update 指令升级系统到最新版本. 本安装将MySQL的数据文件与执行文件分离,如果你打算设置到不同的路径,注意修改对应的执行命令和数据库初始化脚本. # 修改防火墙设置,打开3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport