首頁  >  問答  >  主體

如何重設或更改MySQL的root密碼:MySQL密碼重設指南

<p>如何在Ubuntu伺服器上更改MySQL的root密碼和使用者名稱?在進行任何更改之前,我需要停止mysql服務嗎? </p> <p>我還安裝了phpmyadmin,phpmyadmin會自動更新嗎? </p>
P粉458913655P粉458913655396 天前471

全部回覆(2)我來回復

  • P粉306523969

    P粉3065239692023-08-21 00:54:32

    對我有效的唯一方法是在這裡描述的方法(我正在運行ubuntu 14.04)。為了清晰起見,這是我遵循的步驟:

    1. sudo vim /etc/mysql/my.cnf
    2. 在最後加上以下行:

      [mysqld]
      
      skip-grant-tables
    3. sudo service mysql restart

    4. mysql -u root

    5. #use mysql

    6. #select * from mysql.user where user = 'root'; - 查看頂部以決定密碼列是稱為password還是authentication_string

    7. UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost'; - 使用上面正確的密碼列

    8. FLUSH PRIVILEGES;

    9. exit

    10. sudo vim /etc/mysql/my.cnf

    11. 如果要保持安全標準,請刪除步驟2中新增的行

    12. sudo service mysql restart

    參考:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

    回覆
    0
  • P粉135799949

    P粉1357999492023-08-21 00:52:22

    在Ubuntu Linux上設定/更改/重置MySQL的root密碼。在終端機中輸入以下命令。

    1. 停止MySQL伺服器:sudo /etc/init.d/mysql stop
    2. (在某些情況下,如果/var/run/mysqld不存在,您需要先建立它:sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
    3. ##啟動mysqld設定:sudo mysqld --skip-grant-tables &
    4. #以root身分登入MySQL:mysql -u root mysql
    5. 用新密碼取代YOURNEWPASSWORD

    對於MySQL < 8.0

    #
    UPDATE mysql.user SET Password = PASSWORD('YOURNEWPASSWORD') WHERE User = 'root';
    FLUSH PRIVILEGES;

    如果您的MySQL使用新的驗證插件,則需要在刷新權限之前使用:update user set plugin="mysql_native_password" where User='root';

    注意:這種方法不被視為最安全的重設密碼方式,但是它有效。

    對於MySQL >= 8.0

    #
    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
    FLUSH PRIVILEGES;
    

    最後一步:

    如@lambart的評論中所述,您可能需要殺掉您啟動的臨時無密碼mysql進程,即sudo killall -9 mysqld,然後啟動正常的守護進程:sudo service mysql start

    參考資料:

    1. 在Ubuntu Linux上設定/更改/重置MySQL的root密碼
    2. 如何重置Root密碼(v5.6)
    3. #如何重置Root密碼(v8.0)
    #

    回覆
    0
  • 取消回覆