编写一shell脚本,用nagios监控slave的两个yes(Slave_IO及Slave_SQL进程),如发现只有一个或零个yes,就表明主从有问题了,发短信警报吧。
从/etc/my.cnf:
[mysqld]
datadir=/home/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
log-bin=mysql-bin
log-slave-updates
server-id=2
master-host=10.0.30.122
master-user=root
master-password=1
master-port=3306
auto_increment_increment = 2
auto_increment_offset = 1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#bind-address=0.0.0.0
query_cache_size = 64M
#max_connections = 1024
max_connections = 10000
#wait_timeout = 10
max_connect_errors = 100
table_open_cache = 5120
thread_cache_size = 120
key_buffer_size = 384M
tmp_table_size = 64M
max_heap_table_size = 64M
innodb_buffer_pool_size=5M
innodb_file_per_table=1
character_set_server = utf8
lower_case_table_names=1
#skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
主/etc/my.cnf:
[mysqld]
datadir=/home/mysql
#socket=/home/mysql/mysql.sock
socket=/var/lib/mysql/mysql.sock
user=mysql
log-bin=mysql-bin
binlog-do-db=db5
binlog-ignore-db=information_schema
binlog-ignore-db=acdb
binlog-ignore-db=audb
binlog-ignore-db=db1
binlog-ignore-db=db3
binlog-ignore-db=fpdb
binlog-ignore-db=infosec_ca
binlog-ignore-db=infosec_ra
binlog-ignore-db=jrgazx30
binlog-ignore-db=mbdb
binlog-ignore-db=mldb
binlog-ignore-db=mogilefs
binlog-ignore-db=mysql
binlog-ignore-db=pldb
binlog-ignore-db=ptdb
binlog-ignore-db=test
binlog-ignore-db=trdb
binlog-ignore-db=vcdb
binlog-ignore-db=wndb
log-slave-updates
server-id=1
auto_increment_increment = 2
auto_increment_offset = 2
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#bind-address=0.0.0.0
query_cache_size = 0
query_cache_type = 0
#max_connections = 1024
max_connections = 1024
#wait_timeout = 10
max_connect_errors = 100
table_open_cache = 5120
thread_cache_size = 120
key_buffer_size = 384M
tmp_table_size = 64M
max_heap_table_size = 64M
innodb_file_per_table=1
character_set_server = utf8
lower_case_table_names=1
#log=/var/lib/mysql/sql_row.log
#innodb_buffer_pool_size=1500M
innodb_buffer_pool_size=1500M
#innodb_log_buffer_size=256K
#innodb_additional_mem_pool_size=2M
#skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
#log-error=/var/log/chenyi.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
#socket=/home/mysql/mysql.sock
socket=/var/lib/mysql/mysql.sock