linux平臺mysql root用戶密碼修復

關閉數據庫


當你準備重置root用戶密碼時,首先要做的是停止mysql服務


    //查詢mysqld進程pid
    ps -ef | grep mysqld | awk '{if(NR ==1){print $2}}'
    //停止進程
    kill pid號


如果有啓動腳本可以通過

service mysqld stop

來停止數據庫


跳過權限檢測

切換到mysql目錄下的bin目錄下  尋找mysald_safe 

有些雲服務器或者預裝mysql版本的liunx可能並不在這個目錄

可以查詢一下

find / -name mysqld_safe

增加參數  跳過權限驗證

./mysqld_safe --skip-grant-tables --skip-networking &

--skip-grant-tables跳過權限驗證

--skip-networking  禁止原創鏈接(暴露在公網上請增加此參數 可選)


修改root密碼

version 5.7+

user表發生變化  原來的password字段由authentication_string取代  還需要注意兩個字段 特別是第一次安裝完數據庫沒有修改的

password_expired  表示密碼是否過期 N表示未過期,如果是Y需要修改此參數

account_locked 新增的字段 表表示賬號是否鎖定  同上 N/Y

      

update mysql.user set authentication_string = PASSWORD('123456') where user = 'root'\G


version 5.7-

update mysql.user set Password = PASSWORD('123456') where user = 'root'\G


修改完成後 使用

flush privileges;

刷新權限


退出免驗證模式


停止mysqld_safe進程  可以通過

 ps -ef | grep mysqld_safe | awk '{if(NR ==1){print $2}}'

 kill -9 pid號

重啓mysql

如果有啓動腳本可以通過

service mysqld start


否則

/usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid

後面參數可以自己修改或者不指定


最後 測試帳號


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章