mysql資料庫ROOT帳號許可權丟失問題解決方案

來源:互聯網
上載者:User

資料庫的操作軟體有很多,線上的話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的資料庫密碼吧,不過改後記得要修改網站相對應檔案啊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.