6、登录主库创建数据库,看是否会同步到从库上面
[root@centos03 ~]# mysql -uroot -p123456 -S /data/3306/mysql.sock
mysql> create database martin;
Query OK, 1 row affected (0.01 sec)
观察从库,可以看到已经同步过来
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| martin |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
[root@centos03 ~]# cd /data/3307
[root@centos03 3307]# ls
data my.cnf mysql mysqld.pid mysql_martin3307.err mysql.sock relay-bin.000001 relay-bin.000002 relay-bin.index relay-log.info
[root@centos03 3307]# cat data/master.info
18
mysql-bin.000002
419
172.16.80.118
rep
123456
3306
60
0
[root@centos03 3307]# mysqlbinlog relay-bin.000002
/*!\C utf8 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create database martin
mysql主从复制原理总结:
1、异步同步方式
2、逻辑同步模式,多种模式,默认是通过sql语句执行
3、主库通过记录bin-log实现对从库的同步,bin-log记录数据库更新的语句
4、主库一个IO线程,从库一个IO线程和一个SQL线程
5、从库关键文件master.info relay-log relay-info
6、如果从库还需要做级联从库,从库需要打开log-bin和log-slave-updates参数
监控mysql主从状态(这里我们简单监控从库上面io和sql线程yes总数为不是2就认为主从出现问题了)
在客户端编写脚本
[root@centos03 tools]# cat /tmp/mysql-replication.sh
#!/bin/bash
/application/mysql/bin/mysql -uroot -p123456 -e 'show slave status\G' -S /data/3307/mysql.sock|grep -Ei "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes
修改zabbix-agent配置文件
UnsafeUserParameters=1
UserParameter=mysql.replication,/tmp/mysql-replication.sh
在服务器端添加监控项--触发器--图形