#!/bin/bash
DB_HOST="172.10.1.90"
DB_PORT=3306
DB_USER=root
DB_PWD=XXXXXX
DB_NAME=XXXX
docker exec mysql_container_name -h$DB_HOST -P$DB_PORT -u$DB_USER -p$DB_PWD ${DB_NAME} -e "ALTER TABLE XXX ADD COLUMN create_time datetime NULL,ADD COLUMN modify_time datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;"
exit 0
踩坑就是刚开始监控这个脚本通过python脚本监控语句执行这个bash脚本
run_script_process = subprocess.Popen('chmod +x %s && cd %s && %s' % (DB_UPDATE_script, os.path.dirname(DB_UPDATE_script), DB_UPDATE_script), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
但是之前我脚本里的内容是docker exec -it mysql_container_name
-it这大坑导致一直添加不了mysql字段
因为-it是进入终端运行
但是脚本执行不能进入终端
只能说docker的命令含义还是要理解透彻
然后去掉-it问题就解决了
感谢这位老哥的文章https://blog.youkuaiyun.com/qq_35663625/article/details/102520219