建議:使用任何容器參考 dockerhub 官方網站 + 搜索引擎
1.下載 mysql 鏡像
a.訪問 docker hub 搜索 mysql
b.確定 版本 5.x (行業流行版本) ---> 8.x(最新版本,引擎更加快)
2.下載
docker pull mysql:5.6
3.運行 mysql
a.端口映射 3306, 指定 root 用戶密碼 -e (environment)
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.6
b.啟動mysql,開啟端口映射(3306) 指定 root 用戶密碼 -e,后台運行 -d 指定名稱 --name,總是運行
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d --name mysql01 --restart=always mysql:5.6
c.數據卷機制,將容器的數據交給宿主機管理,持久化數據 -v /my/own/dataidr:/var/lib/mysql
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d --name mysql01 --restart=always -v /root/data:/var/lib/mysql mysql:5.6
4.容器數據備份
a.在使用 mysql 容器時數據卷雖然能備份數據
注意:數據卷將數據庫底層文件系統進行備份,不利於數據遷移和備份,推薦使用 sql 文件形式備份數據
b.如何在 mysql 中導出 sql 文件來備份數據
利用 mysql 官方命令 mysqldump
備份全部數據 mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD" > /root/all-databases.sql
docker exec mysql|容器id sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql --導出全部數據
docker exec mysql sh -c 'exec mysqldump --databases 庫表 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql --導出指定庫數據
docker exec mysql sh -c 'exec mysqldump --no-data --databases 庫表 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql --導出指定庫數據不要數據