配色: 字号:
新建 如何找回root账户丢失的密码?
2012-12-05 | 阅:  转:  |  分享 
  
如何找回root账户root账户密码丢失的情况,root账户密码一旦丢失,也就意味着你无法管理网站的用户或是修改网站了。这时候我们就需要想办法找回root账户密码,如何找回呢?

方法一:

安装了Mysql的服务器(前提是要知道该服务器上Mysql的root用户密码),打开【Mysql的安装目录/var/mysql】,将其中的user.frm、user.MYD、user.MYI三个文件拷贝到出问题服务器的【Mysql的安装目录/var/mysql】目录中。然后重启服务器。

解决方法二:

修改你的my.ini或my.cnf文件,在[mysqld]节下加入下面一行

skip-grant-tables

然后保存并重启MySQL服务。下面你就可以以任何用户名密码登陆数据库了。

如果是误删了root用户,则使用下面的语句创建root用户:

insertintousersetHost=''localhost'',User=''root'',Password=Password(''''),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'';

2、如果是忘记了root用户的密码,则使用下面的语句修改root密码:

updateusersetPassword=Password('''')whereUser=''root'';

mysql误删root用户1、先结束mysqld进程

#killallmysqld进入mysql

#/usr/local/mysql/bin/mysql

不加载grant_tables而进入mysql

#mysqld_safe–skip-grant-tables&

mysql>usemysql

Databasechanged

mysql>selectfromuser;

Emptyset(0.00sec)

mysql>insertintousersetuser=''root'',ssl_cipher=”,x509_issuer=”,x509_subject=”;

(增加root用户的表)

QueryOK,1rowaffected,3warnings(0.00sec)

(这时可能会提示某字段如ssl_cipher无默认值,只要加上,ssl_cipher=”;其字段如有提示依次添加就OK了)

updateusersetHost=''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''whereuser=''root'';

(这里面是修改root用户的权限)

mysql>quit;

2、带权限正常启动mysql

#servicemysqldstart

3、使用root用户登录(如果有phpadmin就直接用root空密码登录再修改密码或权限就可以了)

#mysql-uroot-p

mysql>updateusersetpassword=password(''123456′)whereuser=''root'';

QueryOK,1rowaffected(0.00sec)

Rowsmatched:1Changed:1Warnings:0

mysql>flushprivileges;

mysql>quit



献花(0)
+1
(本文系流金的岁月首藏)