【MySQL&docker】关于在docker容器部署的MySQL的命令执行问题
知识背景
【Docker&MySQL】CentOS7.x上容器部署MySQL
https://www.jianshu.com/p/c74b1d2d8ad4
【MySQL】关于MySQL的mysqldump备份与还原
https://www.jianshu.com/p/5aa895f870c6
容器化MySQL的登录
docker run -it --rm \
--network=host \
-v /tmp/script:/tmp/script \
mysql:5.7.27 \
mysql -u root -h 192.168.1.105 -p"[email protected]"
容器化MySQL的脚本执行
docker run --rm \
--network=host \
-v /tmp/install:/tmp/install \
mysql:5.7.27 \
bash -c "/tmp/intall/mysqlInitSql.sh"
docker run --rm \
--network=host \
-v /tmp/script:/tmp/script \
mysql:5.7.27 \
mysql -u root -h 192.168.1.105 -p"[email protected]" \
-e "source /tmp/script/test.sql"
# docker cp /tmp/script mysql:/tmp/
# docker exec mysql \
mysql -u root -h 192.168.1.105 -p"[email protected]" \
-e "source /tmp/script/test.sql"
# docker exec mysql rm -rf /tmp/script
容器化MySQL数据导出
# docker run --rm \
--network=host \
mysql:5.7.27 \
mysqldump -u root -h 192.168.1.105 -p"[email protected]" --single-transaction --routines --triggers --events test > test.sql
# docker exec mysql \
mysqldump -u root -h 192.168.1.105 -p"[email protected]" --single-transaction --routines --triggers --events test > test.sql
你可以给 docker run --rm --network=host mysql:5.7.27 设置一个别名:
alias mysql_docker_run='docker run --rm --network=host mysql:5.7.27'
# mysql_docker_run mysql -u root -h 192.168.1.105 -p"[email protected]" -e "show databases;"