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