mysql数据库ROOT账号权限丢失问题解决方法

   ROOT账号权限丢失了我们就几乎不能做很多的事情了,今天本文章来为各位介绍mysql数据库ROOT账号权限丢失问题解决方法吧,希望文章可以帮助到各位.

  数据库的操作软件有很多,在线的话phpmyadmin是非常不错的软件,

  比较坑爹的是我的一个机器用的是amh的面板,遇到了一件无比郁闷的事.

  大家都知道在没有独立安装phpmyadmin的情况下,amh面板的数据库操作是AMYSQL…

  这个软件。。。怎么说呢,操作不当,引起的后果可是灰常严重的。(其他软件操作不当也会出大事)

  由于想给网站提速,数据库要迁移到阿里云RDS,数据库的迁移当然最简单的方法是直接迁移,这里就需要我们开放源数据库的远程连接.

  由于安全问题,我们默认的时候把数据库的链接设置的都是本地localhost,那么我们需要改为%。。OK 无比郁闷的是我在改为%之后,在amysql面板操作的,

  竟然直接导致我的root账号没有任何权限….直接等于账号被锁定。。root没有任何操作权限。。尼玛..

  对于我这样的计算机小白来说,这尼玛让我泪奔啊,刚开始不知道什么原因的时候我差点都要回滚磁盘了有木有….

  没办法,只能自己先折腾了。

  ———————————————————–

  解决办法: 首先.你要有服务器的root权限,,不然….那还搞什么啊..

  (这里介绍一个很使用的命令:skip-grant-tables →非常有用的mysql启动参数)

  先停止mysql的运行;这里建议是正常停止mysql,尽量不要pkill,因为你的pkill可能导致mysqld dead but subsys locked.

  如果已经pkill了那就再mysqld status下喽.然后再stop.

  然后运行# mysqld_safe –skip-grant-tables &

  &,表示在后台运行,不再后台运行的话,就再打开一个终端咯。这个&很实用哦~!

  然后mysql进入我们的数据库,跳过验证了,也就不必那么麻烦 直接mysql进入

  然后 use mysql;

  我们这里呢介绍下实用update赋予root账号权限.

  update user set Update_priv =’Y’ where user = ‘root';

  如果像我这样没有了所有权限。。。

  更新的MYSQL.USER表的所有字段中为N的为Y就可以了。

  update user set Select_priv ='Y' where user = 'root';

  update user set Insert_priv ='Y' where user = 'root';

  update user set Update_priv ='Y' where user = 'root';

  update user set Delete_priv ='Y' where user = 'root';

  update user set Create_priv ='Y' where user = 'root';

  update user set Drop_priv ='Y' where user = 'root';

  update user set Reload_priv ='Y' where user = 'root';

  update user set Shutdown_priv ='Y' where user = 'root';

  update user set Process_priv ='Y' where user = 'root';

  update user set File_priv ='Y' where user = 'root';

  update user set Grant_priv ='Y' where user = 'root';

  update user set References_priv ='Y' where user = 'root';

  update user set Index_priv ='Y' where user = 'root';

  update user set Alter_priv ='Y' where user = 'root';

  update user set Show_db_priv ='Y' where user = 'root';

  update user set Super_priv ='Y' where user = 'root';

  update user set Create_tmp_table_priv ='Y' where user = 'root';

  update user set Lock_tables_priv ='Y' where user = 'root';

  update user set Execute_priv ='Y' where user = 'root';

  update user set Repl_slave_priv ='Y' where user = 'root';

  update user set Repl_client_priv ='Y' where user = 'root';

  update user set Create_view_priv ='Y' where user = 'root';

  update user set Show_view_priv ='Y' where user = 'root';

  update user set Create_routine_priv ='Y' where user = 'root';

  update user set Alter_routine_priv ='Y' where user = 'root';

  update user set Create_user_priv ='Y' where user = 'root';

  update user set Event_priv ='Y' where user = 'root';

  update user set Trigger_priv ='Y' where user = 'root';


  权限问题最后要保证“mysql.user”表中 host为“localhost”和“%”都有root的所有权限。

  OK啦,如果你想修改下密码顺手再改root的数据库密码吧,不过改后记得要修改网站相对应文件啊

时间: 2024-08-02 16:41:52

mysql数据库ROOT账号权限丢失问题解决方法的相关文章

mysql数据库root密码忘记的修改方法

  1,关闭你现在正在运行的mysql数据库,用结束mysql进程或者直接关闭mysql服务器都可以 2,关闭数据库后,运行点击开始运行,输入cmd进入命令行窗口,在这个命令行中操作进入到你数据库所在的安装路径,一般默认安装的话都会在c:Program FilesMySQLMySQL Server 5.0bin 3,在这个路径下输入 mysqld --skip-grant-tables 然后回车,这段命令的意思就是从安全模式下启动数据库 4,只要上述步骤成功的话,这个cmd窗口会一直有个小光标出

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

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

mysql 登录时闪退的问题解决方法_Mysql

mysql 登录时闪退的问题解决方法 之前mysql用着好着,可是今天在启动mysql后输入密码出现了闪退,在任务管理器中发现mysql服务没有启动,当手动启动时提示拒绝访问.在网上查找原因发现问题所在. 问题原因:mysql服务没有安装. 解决办法: 在cmd操作下找到mysql的安装目录(注意要用管理员身份运行cmd) 在 mysql bin目录下 以管理员的权限 执行 mysqld -install命令 然后仍然以管理员的权限 net start mysql 开启Mysql服务了.  输入

Yii框架用户登录session丢失问题解决方法

本文实例讲述了Yii框架用户登录session丢失问题解决方法.分享给大家供大家参考,具体如下: 最近做项目,使用的是YII框架,用户的登录总是出现有时候能登录,有时候不能登录的情况.调试了很多次,开始以为是服务器配置问题,后来怎么测试都不行,还是出现有时候登录session丢失的情况,没办法,在群里面问,发帖,请教大拿,最后都没有发现什么问题. 无意间在网上看到一个人说yii session丢失的问题.终于解决了,解决方法: 初步解决方法: 打开文件 yii\framework\web\aut

PHP基于MySQL数据库实现对象持久层的方法

 本文实例讲述了PHP基于MySQL数据库实现对象持久层的方法.分享给大家供大家参考.具体如下: 心血来潮,做了一下PHP的对象到数据库的简单持久层. 不常用PHP,对PHP也不熟,关于PHP反射的大部分内容都是现学的. 目前功能比较弱,只是完成一些简单的工作,对象之间的关系还没法映射,并且对象的成员只能支持string或者integer两种类型的. 成员变量的值也没有转义一下... 下面就贴一下代码: 首先是数据库的相关定义,该文件定义了数据库的连接属性: ? 1 2 3 4 5 6 7 8

MySQL数据库中备份/恢复的两方法介绍

  下面介绍MySQL数据库备份/恢复的两种方法. 方法一: query($sql); } //将生成的临时备份文件合在一起 $outfile = date("Y-m-d").".sql"; if(file_exists($dbdir.$outfile)) @unlink($dbdir.$outfile); $fpr = fopen($dbdir.$outfile, "a"); foreach($txtname as $txt){ if(file

PHP基于MySQL数据库实现对象持久层的方法_php技巧

本文实例讲述了PHP基于MySQL数据库实现对象持久层的方法.分享给大家供大家参考.具体如下: 心血来潮,做了一下PHP的对象到数据库的简单持久层. 不常用PHP,对PHP也不熟,关于PHP反射的大部分内容都是现学的. 目前功能比较弱,只是完成一些简单的工作,对象之间的关系还没法映射,并且对象的成员只能支持string或者integer两种类型的. 成员变量的值也没有转义一下... 下面就贴一下代码: 首先是数据库的相关定义,该文件定义了数据库的连接属性: <?php /* * Filename

Java连接mysql数据库并进行内容查询的方法_Mysql

最近用框架做了几个项目,感觉当初底层的东西有点忘了,写一个JDBC的简单的连接代码来熟悉回顾一下,也希望对刚接触的新手能有所帮助.这也是我的第一篇随笔,废话不多说,直接上代码: public Connection getCon() { //数据库连接名称 String username="root"; //数据库连接密码 String password=""; String driver="com.mysql.jdbc.Driver"; //其中

mysql数据库客户端访问权限配置

mysql数据库客户端访问权限配置 借鉴这个百度经验. 用root登录mysql之后 1.use mysql 2.select host,user,password from user; 修改host列的用户,建议修改localhost用户,如图五所示 执行命令如下: update user set host = '%' where host = 'localhost'; select host,user,password from user; flush privileges; 再从客户端连接