监控docker容器内mysql主从同步状态

本文探讨了 Docker exec 命令的使用方法及其选项-i与-t的区别。通过具体示例说明如何在运行中的容器内执行命令,并解决了使用过程中出现的安全警告及输出异常问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker exec 命令
docker exec :在运行的容器中执行命令
语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端


脚本
cat /server/scripts/mysql.sh
#!/bin/bash
docker exec -t docke_mysql mysql -uroot -p123456 -e "show slave status\G"|grep "Running"|grep "Yes"|wc -l


为什么不用docker exec -i ?
这样会显示下面的结果
Warning: Using a password on the command line interface can be insecure.
2
zabbix会报错
Received value [Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)0] is not suitable for value type [Numeric (unsigned)] and data type [Decimal]
使用docker exec -t(分配一个伪终端,不需要保持STDIN打开,结果就正常了,我也是试了好久,改/etc/my.cnf,本人认为不安全,有其它见解的话,请高人指点下我的想法是否正确)


现在获取到数值了可以去设置你自己的zabbix了

转载于:https://blog.51cto.com/11571922/2147147

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值