1. 程式人生 > >關於mysql中root密碼修改無效的問題

關於mysql中root密碼修改無效的問題

tables pri 建議 初始 ges 並不是 變更 word 空密碼

最近碰見過幾次mysql root密碼修改無效的情況,在此做一下總結。

修改root@localhost密碼後並且flush privileges;發現密碼未變更,這種情況一般有三種可能。

  1. 使用 skip grant tables啟動mysql導致,MySQL啟動後不啟動grant-tables,一般用於root密碼忘記修改,修改完root密碼後,去掉該參數重啟即可應用修改後的密碼。

  2. 存在root@‘%‘的用戶,導致mysql -uroot -p登錄使用的是root@‘%‘的密碼,同時修改所有root用戶密碼,一般建議安裝完成後初始化user表中非root及host不為localhost的用戶,不建議新建root@‘%‘的遠程用戶,建議使用其他命名

  3. root用戶只有一個,但是mysql.user表中plugin使用的並不是mysql_native_password 而是auth_socket,導致用戶連接一直使用unix socket空密碼進入。修改plugin改回mysql_native_password,然後重新修改root密碼並刷新全權限即可。

關於mysql中root密碼修改無效的問題