Docker EXEC command
Docker exec: Executing commands in a running container
Grammar
Docker exec [OPTIONS] CONTAINER COMMAND [ARG ...]
Options Description:
-D: Detach mode: Run in background
-I: Keep stdin open even without attaching
-T: Assigning a pseudo terminal
Script
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
Why not use Docker exec-i?
This will show the following results
Warning:using a password on the command line interface can is insecure.
2
Zabbix will make an error.
Received value [Enter password:error 1045 (28000): Access denied for user ' root ' @ ' localhost ' (using password:no) 0] is NO T suitable for value type [Numeric (unsigned)] and data type [Decimal]
Use Docker exec-t (assign a pseudo terminal, do not need to keep stdin open, the result is normal, I also tried for a long time, change/etc/my.cnf, I think unsafe, there are other ideas, please expert guidance under my idea is correct)
Now you get the numbers, you can set up your own Zabbix.
Monitor MySQL master-slave synchronization status in a Docker container