在 docker 中,連接 mysql 到外部數據庫的方法如下:創建網絡以連接容器。啟動 mysql 容器并指定網絡名稱。授予外部訪問權限以允許連接。使用連接字符串連接到外部數據庫。
如何連接 Docker 中的 MySQL 到外部數據庫
在 Docker 容器中運行 MySQL 時,可能需要連接到外部數據庫以實現數據共享或訪問外部數據源。以下是連接 Docker 中 MySQL 到外部數據庫的方法:
1. 創建網絡
Docker 容器默認處于不同的網絡空間中,因此需要創建網絡以便容器之間能夠通信。可以使用以下命令創建網絡:
<a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/15865.html" target="_blank">docker</a> network create my-network
登錄后復制
2. 啟動 MySQL 容器
連接到外部數據庫之前,需要啟動 MySQL 容器。以下命令將創建并啟動 MySQL 容器,指定網絡名稱和暴露端口:
docker run -d \ --name <a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/15713.html" target="_blank">mysql</a> \ --network my-network \ -p 3306:3306 \ mysql:5.7
登錄后復制
3. 授予外部訪問權限
默認情況下,MySQL 容器僅允許本地連接。需要授予外部訪問權限以允許其他容器或主機連接。使用以下命令授予權限:
docker exec mysql mysql -uroot -p <your-password></your-password>
登錄后復制
在命令提示符下:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
登錄后復制
其中:
username 是外部用戶的名字
password 是外部用戶的密碼
% 允許來自任何主機的連接
4. 連接外部數據庫
使用外部應用程序或工具來連接到外部數據庫。可以使用以下連接字符串:
mysql -h <external_host> -u <username> -p <password><database_name></database_name></password></username></external_host>
登錄后復制
其中:
是外部數據庫的主機名或 IP 地址
是授予外部訪問權限的用戶名
是授予外部訪問權限的密碼
是要連接的數據庫的名稱