MySQL 是一款常用的關聯式資料庫管理系統,常用於建立 Web 應用程式和管理資料。在 MySQL 中,root 使用者是具有最高權限的用戶,通常用於管理整個資料庫。但在某些情況下,我們可能會忘記 root 使用者的密碼。本文將介紹一些常見的方式來重設 MySQL 的 root 使用者密碼。
- 使用 mysqld_safe 啟動 MySQL
如果你忘記了 root 使用者的密碼,第一個嘗試的方法應該是使用 mysqld_safe 啟動 MySQL 服務。這個方法可以在不需要密碼的情況下啟動 MySQL 並且允許你修改 root 使用者的密碼。操作步驟如下:
首先,停止 MySQL 服務。
$ sudo systemctl stop mysql
然後,使用 mysqld_safe 啟動 MySQL 服務,並指定 --skip-grant-tables。
$ sudo mysqld_safe --skip-grant-tables &
--skip-grant-tables 參數會讓MySQL 忽略掉存取控製表,這表示任何人都可以連線到MySQL伺服器,並具有root 權限。正因為如此,你應該確保只有受信任的使用者可以存取該伺服器。
接著,在另一個終端機視窗中連接到 MySQL 伺服器。
$ mysql -u root
在 MySQL 提示符號下,執行以下命令來修改 root 使用者的密碼。
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
在這個指令中,將 new_password 取代成你的新密碼。
最後,退出 MySQL 並重新啟動 MySQL 服務。
mysql> FLUSH PRIVILEGES;
mysql> quit;
$ sudo systemctl start mysql
現在你可以用新密碼登入 root 使用者了!
- 使用 mysql_secure_installation 腳本
如果你無法使用 mysqld_safe 啟動 MySQL,也可以嘗試使用 mysql_secure_installation 腳本來重設 root 使用者的密碼。該腳本可以快速地為 MySQL 進行一些設置,包括重置 root 使用者的密碼、刪除匿名使用者、停用遠端登入等。
首先,執行以下指令安裝 mysql_secure_installation 腳本。
$ sudo apt-get update
$ sudo apt-get install mysql-server
#安裝完成後,你可以使用以下指令執行 mysql_secure_installation 腳本。
$ sudo mysql_secure_installation
在運行過程中,你需要回答幾個問題,包括設定 root 使用者密碼、刪除匿名使用者等。在設定密碼時,即使你已經忘記了 root 使用者的原始密碼,也可以將其留空,然後選擇設定新密碼。完成所有設定後,你將可以使用新密碼登入 root 使用者。
- 使用 skip-grant-tables 參數啟動 MySQL
如果以上兩種方法都無法使用,最後的嘗試就是使用 skip-grant-tables 參數啟動 MySQL。雖然這種方法可以啟動 MySQL,但會使資料庫處於漏洞狀態,因此不應該在生產環境中使用。
首先,找到 MySQL 的設定檔 my.cnf 或 my.ini。該文件中應該包含以下行:
[mysqld]
skip-grant-tables
如果該文件不存在,則可以建立一個新文件,將上述兩行新增到文件中,並將其儲存為my.cnf 或my.ini。
然後,使用下列指令重新啟動 MySQL。
$ sudo systemctl restart mysql
重啟後,你將可以以 root 使用者身分登入 MySQL,而不需要輸入密碼。在 MySQL 提示符號下,輸入以下命令來修改 root 使用者的密碼。
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
將new_password 替換成你的新密碼,然後退出SQLSQL 並重新啟動。
mysql> FLUSH PRIVILEGES;
mysql> quit;
$ sudo systemctl restart mysql
現在你可以用新密碼登入 root 使用者了!
總結
忘記 MySQL root 使用者密碼是一個常見的問題,但有多種方法可以解決。大多數情況下,使用 mysqld_safe 或 mysql_secure_installation 腳本即可輕鬆重設密碼。如果這些方法不起作用,使用 skip-grant-tables 參數啟動 MySQL 可能是最後的嘗試,但不建議在生產環境中使用。
以上是mysql 忘記root 密碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

ACID屬性包括原子性、一致性、隔離性和持久性,是數據庫設計的基石。 1.原子性確保事務要么完全成功,要么完全失敗。 2.一致性保證數據庫在事務前後保持一致狀態。 3.隔離性確保事務之間互不干擾。 4.持久性確保事務提交後數據永久保存。

MySQL既是數據庫管理系統(DBMS),也與編程語言緊密相關。 1)作為DBMS,MySQL用於存儲、組織和檢索數據,優化索引可提高查詢性能。 2)通過SQL與編程語言結合,嵌入在如Python中,使用ORM工具如SQLAlchemy可簡化操作。 3)性能優化包括索引、查詢、緩存、分庫分錶和事務管理。

MySQL使用SQL命令管理數據。 1.基本命令包括SELECT、INSERT、UPDATE和DELETE。 2.高級用法涉及JOIN、子查詢和聚合函數。 3.常見錯誤有語法、邏輯和性能問題。 4.優化技巧包括使用索引、避免SELECT*和使用LIMIT。

MySQL是一種高效的關係型數據庫管理系統,適用於存儲和管理數據。其優勢包括高性能查詢、靈活的事務處理和豐富的數據類型。實際應用中,MySQL常用於電商平台、社交網絡和內容管理系統,但需注意性能優化、數據安全和擴展性。

SQL和MySQL的關係是標準語言與具體實現的關係。 1.SQL是用於管理和操作關係數據庫的標準語言,允許進行數據的增、刪、改、查。 2.MySQL是一個具體的數據庫管理系統,使用SQL作為其操作語言,並提供高效的數據存儲和管理。

InnoDB使用redologs和undologs確保數據一致性和可靠性。 1.redologs記錄數據頁修改,確保崩潰恢復和事務持久性。 2.undologs記錄數據原始值,支持事務回滾和MVCC。

EXPLAIN命令的關鍵指標包括type、key、rows和Extra。 1)type反映查詢的訪問類型,值越高效率越高,如const優於ALL。 2)key顯示使用的索引,NULL表示無索引。 3)rows預估掃描行數,影響查詢性能。 4)Extra提供額外信息,如Usingfilesort提示需要優化。

Usingtemporary在MySQL查詢中表示需要創建臨時表,常見於使用DISTINCT、GROUPBY或非索引列的ORDERBY。可以通過優化索引和重寫查詢避免其出現,提升查詢性能。具體來說,Usingtemporary出現在EXPLAIN輸出中時,意味著MySQL需要創建臨時表來處理查詢。這通常發生在以下情況:1)使用DISTINCT或GROUPBY時進行去重或分組;2)ORDERBY包含非索引列時進行排序;3)使用複雜的子查詢或聯接操作。優化方法包括:1)為ORDERBY和GROUPB


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3漢化版
中文版,非常好用

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),