Docker安裝MySQL?8.0兩個(gè)版本的命令總結(jié)
我需要一個(gè) Docker 安裝 MySQL 8.0 的命令
為了幫你用 Docker 安裝 MySQL 8.0,我準(zhǔn)備了兩個(gè)版本的命令。如果你是第一次使用,建議先用簡(jiǎn)化版快速跑起來(lái);如果你希望數(shù)據(jù)能長(zhǎng)期保存、配置更靈活(比如為了生產(chǎn)環(huán)境或重要開發(fā)),請(qǐng)直接使用完整版。
簡(jiǎn)化版(快速體驗(yàn))
這條命令最短,適合快速啟動(dòng)一個(gè) MySQL 實(shí)例進(jìn)行測(cè)試,但容器刪除后數(shù)據(jù)會(huì)丟失。
docker run -d \ --name mysql8 \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=root \ mysql:8.0
完整版(推薦,數(shù)據(jù)持久化 + 詳細(xì)配置)
這條命令包含了數(shù)據(jù)掛載、配置文件掛載、時(shí)區(qū)設(shè)置和開機(jī)自啟,適合長(zhǎng)期使用。
# 1. 先在宿主機(jī)創(chuàng)建必要的目錄
mkdir -p ~/docker/mysql/{data,conf}
# 2. 啟動(dòng)容器的完整命令
docker run -d \
--name mysql8 \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=your_secure_password \
-e TZ=Asia/Shanghai \
-v ~/docker/mysql/data:/var/lib/mysql \
-v ~/docker/mysql/conf:/etc/mysql/conf.d \
--restart unless-stopped \
mysql:8.0 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
命令參數(shù)詳解
為了讓您更清楚每部分的作用,我為您拆解了完整版命令的含義:
| 參數(shù) | 說(shuō)明 |
|---|---|
-d | 后臺(tái)運(yùn)行容器(守護(hù)式運(yùn)行)。 |
--name mysql8 | 為容器指定一個(gè)名字,方便后續(xù)管理(如 docker stop mysql8)。 |
-p 3306:3306 | 端口映射,將宿主機(jī)的 3306 端口映射到容器的 3306 端口。 |
-e MYSQL_ROOT_PASSWORD=... | 必須設(shè)置,這是 root 用戶的登錄密碼。 |
-v ~/docker/... | 數(shù)據(jù)持久化。將容器內(nèi)的數(shù)據(jù)目錄和配置目錄掛載到宿主機(jī),防止容器刪除后數(shù)據(jù)丟失。 |
--restart unless-stopped | 容器開機(jī)自啟策略,除非手動(dòng)停止,否則隨 Docker 自動(dòng)啟動(dòng)。 |
--character-set-server=utf8mb4 | 額外追加的 MySQL 參數(shù),設(shè)置默認(rèn)字符集為 utf8mb4,支持存儲(chǔ)表情符號(hào)。 |
特別注意:遠(yuǎn)程連接與密碼插件
MySQL 8.0 默認(rèn)使用新的密碼驗(yàn)證插件 caching_sha2_password,部分舊的客戶端工具(如老版本 Navicat)可能無(wú)法連接。
如果遇到連接問(wèn)題,請(qǐng)按以下步驟解決:
進(jìn)入容器:
docker exec -it mysql8 mysql -uroot -p
(輸入你設(shè)置的密碼)
修改密碼驗(yàn)證方式:
在 MySQL 命令行中執(zhí)行,將其改為兼容性更好的mysql_native_password:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_secure_password'; FLUSH PRIVILEGES;
補(bǔ)充:如何開啟遠(yuǎn)程訪問(wèn)
如果您需要從其他機(jī)器訪問(wèn)這個(gè)數(shù)據(jù)庫(kù),除了上面的修改插件步驟外,還需要確保:
- 防火墻開放端口:確保宿主機(jī)防火墻放行了
3306端口。 - 用戶授權(quán):如果您創(chuàng)建了新用戶,記得授權(quán)
%(所有主機(jī))訪問(wèn),或者在啟動(dòng)時(shí)添加環(huán)境變量-e MYSQL_ROOT_HOST=%允許 root 遠(yuǎn)程登錄。
總結(jié)
到此這篇關(guān)于Docker安裝MySQL 8.0兩個(gè)版本命令總結(jié)的文章就介紹到這了,更多相關(guān)Docker安裝MySQL 8.0命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql數(shù)據(jù)庫(kù)事務(wù)的臟讀幻讀及不可重復(fù)讀詳解
這篇文章主要為大家介紹了Mysql數(shù)據(jù)庫(kù)事務(wù)的臟讀幻讀及不可重復(fù)讀詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
mysql如何統(tǒng)計(jì)同一字段不同值的個(gè)數(shù)
這篇文章主要介紹了mysql如何統(tǒng)計(jì)同一字段不同值的個(gè)數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
mysql 查詢數(shù)據(jù)庫(kù)響應(yīng)時(shí)長(zhǎng)的方法示例
要查詢MySQL數(shù)據(jù)庫(kù)的響應(yīng)時(shí)長(zhǎng),通常我們需要測(cè)量查詢執(zhí)行的時(shí)間,本文主要介紹了mysql 查詢數(shù)據(jù)庫(kù)響應(yīng)時(shí)長(zhǎng)的方法示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
MySQL 使用事件(Events)完成計(jì)劃任務(wù)
事件(Events) 是在 MySQL 5.1后引入的,有點(diǎn)類似操作系統(tǒng)的計(jì)劃任務(wù)(cron),但是周期性任務(wù)是內(nèi)置在 MySQL 服務(wù)端執(zhí)行的。本文講述MySQL如何用事件完成計(jì)劃任務(wù)2021-05-05
MySQL數(shù)據(jù)庫(kù)備份恢復(fù)實(shí)現(xiàn)代碼
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)備份恢復(fù)實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
MySQL如何創(chuàng)建可以遠(yuǎn)程訪問(wèn)的root賬戶詳解
作為MySQL數(shù)據(jù)庫(kù)管理員,創(chuàng)建遠(yuǎn)程用戶并設(shè)置相應(yīng)的權(quán)限是一項(xiàng)常見(jiàn)的任務(wù),下面這篇文章主要給大家介紹了關(guān)于MySQL如何創(chuàng)建可以遠(yuǎn)程訪問(wèn)的root賬戶的相關(guān)資料,需要的朋友可以參考下2024-04-04
MySQL實(shí)現(xiàn)字段或字符串拼接的三種方式總結(jié)
這篇文章主要為大家詳細(xì)介紹了MySQL中實(shí)現(xiàn)字段或字符串拼接的三種方式,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-01-01
MySQL系列多表連接查詢92及99語(yǔ)法示例詳解教程
這篇文章主要為大家介紹了MySQL系列多表連接查詢92及99語(yǔ)法示例詳解教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-10-10

