docker部署的mysql默認密碼如何查看
前言
在使用Docker快速部署MySQL容器時,很多人都會遇到一個常見問題:MySQL容器默認密碼是多少?實際上,當我們啟動MySQL容器時,并沒有為root用戶設置一個固定的默認密碼。在Docker啟動MySQL容器后,首次運行時會生成一個隨機密碼,并輸出到容器日志中。接下來,我們就來討論如何找到這個默認密碼。
查看MySQL容器日志
要查看MySQL容器生成的默認密碼,可以通過以下步驟:
- 運行以下命令啟動MySQL容器:
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest
- 使用以下命令查看容器日志:
docker logs mysql-container
- 在日志中,可以找到類似以下內(nèi)容:
GENERATED ROOT PASSWORD: Ax3CPh2uZu&UShOstoob&ohQu
這里的Ax3CPh2uZu&UShOstoob&ohQu就是MySQL生成的隨機默認密碼。
登錄MySQL容器并修改密碼
一旦獲得了默認密碼,我們可以使用以下命令登錄MySQL容器,并修改root用戶的密碼:
- 使用以下命令登錄MySQL容器:
docker exec -it mysql-container mysql -u root -p
- 系統(tǒng)會提示輸入密碼,這里輸入生成的隨機密碼。
- 成功登錄后,可以使用ALTER語句修改root用戶的密碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
將new_password替換為您要設置的新密碼。
- 修改密碼后,記得刷新權限:
FLUSH PRIVILEGES;
這樣,您就成功修改了MySQL的root用戶密碼。 總的來說,Docker啟動MySQL容器時會生成一個隨機的默認密碼,我們可以通過查看容器日志來獲取這個密碼,并登錄容器進行修改。記得在生產(chǎn)環(huán)境中及時修改默認密碼,以保障數(shù)據(jù)庫的安全性。
從安全的配置文件中加載數(shù)據(jù)庫密碼,并連接到MySQL數(shù)據(jù)庫。請注意,這只是一個示例,實際應用中請根據(jù)具體情況更改和完善。
import java.sql.Connection; import java.sql.DriverManager; import java.util.Properties; import java.io.InputStream; import java.io.IOException; public class DatabaseConnection { public Connection getConnection() { Properties properties = new Properties(); InputStream input = null; try { input = getClass().getResourceAsStream("/config.properties"); properties.load(input); String url = properties.getProperty("db.url"); String username = properties.getProperty("db.username"); String password = properties.getProperty("db.password"); // 加載數(shù)據(jù)庫驅(qū)動 Class.forName("com.mysql.cj.jdbc.Driver"); // 連接數(shù)據(jù)庫 Connection connection = DriverManager.getConnection(url, username, password); return connection; } catch (Exception e) { e.printStackTrace(); return null; } finally { if (input != null) { try { input.close(); } catch (IOException e) { e.printStackTrace(); } } } } public static void main(String[] args) { DatabaseConnection dbConnection = new DatabaseConnection(); Connection connection = dbConnection.getConnection(); if (connection != null) { System.out.println("成功連接到數(shù)據(jù)庫!"); // 在這里可以執(zhí)行數(shù)據(jù)庫操作 } else { System.out.println("連接失??!"); } } }
在示例代碼中,假設數(shù)據(jù)庫連接信息存儲在config.properties配置文件中,您可以根據(jù)您的實際環(huán)境和需求修改配置文件,并確保密碼等敏感信息得到安全地存儲和加載。
MySQL是一種流行的開源關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),它使用結構化查詢語言(SQL)來管理和操作數(shù)據(jù)庫。MySQL由瑞典公司MySQL AB開發(fā),后被Sun Microsystems收購,再后來Sun Microsystems被Oracle收購。MySQL廣泛應用于Web應用程序開發(fā)中,是許多網(wǎng)站和應用的首選數(shù)據(jù)庫系統(tǒng)。 以下是MySQL的一些重要特點和功能:
- 開源性:MySQL是開源軟件,用戶可以免費使用、修改和分發(fā)。這使得MySQL成為許多開發(fā)者和組織的首選數(shù)據(jù)庫解決方案之一。
- 高性能:MySQL是一個高性能的數(shù)據(jù)庫管理系統(tǒng),能夠處理大量數(shù)據(jù)和并發(fā)請求。MySQL使用各種技術和優(yōu)化策略來提高數(shù)據(jù)庫的性能,例如索引、查詢優(yōu)化等。
- 跨平臺:MySQL支持多種操作系統(tǒng),包括Windows、Linux、macOS等,用戶可以在不同平臺上部署和運行MySQL數(shù)據(jù)庫。
- 可靠性:MySQL提供了數(shù)據(jù)持久性和可靠性的保證,支持事務處理和數(shù)據(jù)復制等功能,確保數(shù)據(jù)的安全和完整性。
- 靈活性:MySQL支持多種存儲引擎,包括InnoDB、MyISAM等,用戶可以根據(jù)不同的需求選擇合適的存儲引擎,以獲得最佳的性能和特性。
- 安全性:MySQL提供了各種安全特性,包括訪問控制、加密傳輸、安全連接等功能,以確保數(shù)據(jù)在傳輸和存儲過程中的安全性。
- 豐富的功能:MySQL提供了豐富的功能和工具,包括存儲過程、觸發(fā)器、視圖、復制、備份恢復等功能,滿足各種復雜的數(shù)據(jù)庫需求。
總結
到此這篇關于docker部署的mysql默認密碼如何查看的文章就介紹到這了,更多相關docker mysql默認密碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
CentOS 7.x docker使用overlay2存儲方式
這篇文章主要介紹了CentOS 7.x docker使用overlay2存儲方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11linux下使用Docker Compose部署Spug實現(xiàn)公網(wǎng)遠程訪問的過程
這篇文章主要介紹了linux下使用Docker Compose部署Spug實現(xiàn)公網(wǎng)遠程訪問,本例演示搭建使用docker compose 方式安裝Spug,并結合cpolar,需要的朋友可以參考下2023-11-11Docker實現(xiàn)導入導出鏡像(Image)文件的代碼示例
在 Docker 中,鏡像(Image)是容器的基礎,包含了應用程序運行所需的所有文件系統(tǒng)和配置,有時,我們需要將 Docker 鏡像導出到文件中,以便在其他地方使用,以下將詳細介紹如何使用 Docker 導入導出鏡像文件,需要的朋友可以參考下2024-08-08