首頁  >  問答  >  主體

MySQL:如何重設或更改MySQL根密碼?

<p>如何更改 ubuntu 伺服器中的 MySQL root 密碼和使用者名稱?在進行任何更改之前我需要停止 mysql 服務嗎? </p> <p>我也有 phpmyadmin 設定,phpmyadmin 會自動更新嗎? </p>
P粉254077747P粉254077747393 天前453

全部回覆(2)我來回復

  • P粉312195700

    P粉3121957002023-08-24 15:59:57

    唯一對我有用的方法是所描述的方法這裡(我運行的是 ubuntu 14.04)。為了清楚起見,我遵循以下步驟:

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

      [mysqld]
      
      skip-grant-tables
    3. sudo服務mysql重啟

    4. #mysql -u root

    5. #使用mysql

    6. select * from mysql.user where user = 'root'; - 看頂部判斷密碼列是否被調用 密碼authentication_string

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

    8. 刷新權限;

    9. 退出

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

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

    12. sudo服務mysql重啟

    #

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

    回覆
    0
  • P粉757432491

    P粉7574324912023-08-24 11:49:06

    在 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服務mysql啟動

    參考文獻:

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

    回覆
    0
  • 取消回覆