【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】关于在docker容器部署的MySQL的命令执行问题

容器化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"

 

【MySQL&docker】关于在docker容器部署的MySQL的命令执行问题

 

# 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】关于在docker容器部署的MySQL的命令执行问题

 

 

 

容器化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

 

【MySQL&docker】关于在docker容器部署的MySQL的命令执行问题

 

# docker exec  mysql  \

mysqldump -u root   -h 192.168.1.105  -p"[email protected]"   --single-transaction --routines --triggers --events test > test.sql

 

【MySQL&docker】关于在docker容器部署的MySQL的命令执行问题

 

你可以给 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;"

 

【MySQL&docker】关于在docker容器部署的MySQL的命令执行问题