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就可以了.
- updateusersetSelect_priv='Y'whereuser='root';
- updateusersetInsert_priv='Y'whereuser='root';
- updateusersetUpdate_priv='Y'whereuser='root';
- updateusersetDelete_priv='Y'whereuser='root';
- updateusersetCreate_priv='Y'whereuser='root';--phpfensi.com
- updateusersetDrop_priv='Y'whereuser='root';
- updateusersetReload_priv='Y'whereuser='root';
- updateusersetShutdown_priv='Y'whereuser='root';
- updateusersetProcess_priv='Y'whereuser='root';
- updateusersetFile_priv='Y'whereuser='root';
- updateusersetGrant_priv='Y'whereuser='root';
- updateusersetReferences_priv='Y'whereuser='root';
- updateusersetIndex_priv='Y'whereuser='root';
- updateusersetAlter_priv='Y'whereuser='root';
- updateusersetShow_db_priv='Y'whereuser='root';
- updateusersetSuper_priv='Y'whereuser='root';
- updateusersetCreate_tmp_table_priv='Y'whereuser='root';
- updateusersetLock_tables_priv='Y'whereuser='root';
- updateusersetExecute_priv='Y'whereuser='root';
- updateusersetRepl_slave_priv='Y'whereuser='root';
- updateusersetRepl_client_priv='Y'whereuser='root';
- updateusersetCreate_view_priv='Y'whereuser='root';
- updateusersetShow_view_priv='Y'whereuser='root';
- updateusersetCreate_routine_priv='Y'whereuser='root';
- updateusersetAlter_routine_priv='Y'whereuser='root';
- updateusersetCreate_user_priv='Y'whereuser='root';
- updateusersetEvent_priv='Y'whereuser='root';
- updateusersetTrigger_priv='Y'whereuser='root';
mysql数据库root账号权限重置
权限问题最后要保证“mysql.user”表中 host为“localhost”和“%”都有root的所有权限.
OK啦,如果你想修改下密码顺手再改root的数据库密码吧,不过改后记得要修改网站相对应文件啊.