mysql误删root用户恢复方法

 更新时间:2015年02月13日 09:58:17   投稿:junjie  
这篇文章主要介绍了mysql误删root用户恢复方法,本文操作是在mysql5.5版本下完成,其它版本仅作参考,需要的朋友可以参考下

装完数据库清理一些默认账号的时候不小心把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 ,还可能要重新登录才行。

相关文章

  • MySQL中数据类型相关的优化办法

    MySQL中数据类型相关的优化办法

    这篇文章主要介绍了MySQL中数据类型相关的优化办法,包括使用多列索引等相关的优化方法,需要的朋友可以参考下
    2015-07-07
  • Mac Homebrew安装的MySQL无法远程登录的解决

    Mac Homebrew安装的MySQL无法远程登录的解决

    这篇文章主要介绍了Mac Homebrew安装的MySQL无法远程登录的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • MySQL中UUID主键的优化小结

    MySQL中UUID主键的优化小结

    UUID可以唯一标识记录,因此有些场景可能会用来作为表的主键,本文主要介绍了MySQL中UUID主键的优化小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • MySQL多条件查询的实现示例

    MySQL多条件查询的实现示例

    本文主要介绍了MySQL多条件查询的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-05-05
  • SQL查询表字段信息详细图文教程

    SQL查询表字段信息详细图文教程

    最近工作用到SQL语句查询表中所有字段的名称,下面这篇文章主要给大家介绍了关于SQL查询表字段信息的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • Mysql5.7忘记root密码怎么办(简单且有效方法)

    Mysql5.7忘记root密码怎么办(简单且有效方法)

    本文给大家分享一个快速且简单的方法来解决Mysql5.7忘记root密码问题,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-02-02
  • mysql too many open connections问题解决方法

    mysql too many open connections问题解决方法

    这篇文章主要介绍了mysql too many open connections问题解决方法,其实是max_connections配置问题导致,它必须在[mysqld]下面才会生效,需要的朋友可以参考下
    2014-05-05
  • MySQL 视图 第1349号错误解决方法

    MySQL 视图 第1349号错误解决方法

    把下面SQL里的SELECT单独执行,没有问题,但是用来CREATE VIEW 就报错了.
    2008-03-03
  • mysql导入sql文件报错 ERROR 2013 2006 2002

    mysql导入sql文件报错 ERROR 2013 2006 2002

    今天在做项目的时候遇到个问题,就是往mysql里导入sql文件的时候总是报ERROR 2013 2006 2002,研究了一番才找到解决办法,这里记录下来分享给大家
    2014-11-11
  • MySQL存储过程中使用WHILE循环语句的方法

    MySQL存储过程中使用WHILE循环语句的方法

    这篇文章主要介绍了MySQL存储过程中使用WHILE循环语句的方法,实例分析了在MySQL中循环语句的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07

最新评论