天天看點

誤删除mysql中的所用使用者,如何重新設定root賬号和密碼

在練習mysql語句的時候,使用delete将資料庫中的所有使用者删除了,其中也包括root使用者。并進行了flush privileges;這時候發現重新登入mysql已經不能正常登陸。對此我們要重新設定root賬号和root密碼。具體操作步驟如下:

删除使用者操作:  

<code>mysql&gt; delete frommysql.user;  删除所有使用者</code>

<code>mysql&gt; flushprivileges;</code>

首先斷掉與資料庫相關聯的所有連結,防止咋資料庫重新開機的時候資料的丢失。

<code>[root@node1 ~]</code><code># service mysqld stop</code>

修改資料庫配置檔案

<code>[root@node1 ~]</code><code># vim /etc/my.cnf</code>

在配置檔案中的[mysql]下的内容

在[mysql]

下一行中添加“skip-grant-tables”

<a href="http://s5.51cto.com/wyfs02/M02/87/FC/wKioL1fnJ9rTsEHnAAAo_-skRVE661.png-wh_500x0-wm_3-wmp_4-s_2194652098.png" target="_blank"></a>

儲存并退出,重新開機mysql資料庫

<code>[root@node1mysql]</code><code># mysql</code>

<code>mysql&gt; insertinto mysql.user (host, user, password</code>

<code>,</code>

<code>sll_cipher,x509_issuer,</code>

<code>x509_subje</code>

<code>c</code>

<code>) values (</code><code>'localhost'</code><code>, </code><code>'root'</code><code>,password(</code><code>'123456'</code><code>),’’,’’);</code>

退出資料庫,再将mysql.cnf配置檔案進行更改,删除剛才新添加的行即可。重新啟動資料庫即可。

<code>[root@node1 ~]</code><code># service mysqld restart</code>

即可完成對mysqlroot使用者的添加!

第二種方式不修改mysql的配置檔案;

<code>service mysqld stop        </code><code>//</code><code>停止mysql資料庫服務</code>

<code>mysqld_safe--skip-grant-tables --skip-networking</code>

另外終端

<code>Mysql</code>

<code>mysql&gt; insertinto mysql.user (host, user, password,sll_cipher,x509_issuer,x509_subjec) values (</code><code>'localhost'</code><code>, </code><code>'root'</code><code>,password(</code><code>'123456'</code><code>),’’,’’);</code>

即可完成對資料庫root使用者的添加!

本文轉自 CARYFLASH 51CTO部落格,原文連結:http://blog.51cto.com/maoxiaoxiong/1856266