您好,欢迎访问一九零五行业门户网

Mysql的实时同步

欢迎进入linux社区论坛,与200万技术人员互动交流 >>进入 设置方法: 步一 设 a 服务服 (192.168.1.43) 上 用户为 backup, 123456 , 同步的数据库为test; b 服务服 (192.168.1.23) 上 用户为 root, 123456, 同步的数据库为test; 步二 配置 mysql.ini: a服务
欢迎进入linux社区论坛,与200万技术人员互动交流 >>进入
设置方法:
步一 设
a 服务服 (192.168.1.43) 上 用户为 backup, 123456 , 同步的数据库为test;
b 服务服 (192.168.1.23) 上 用户为 root, 123456, 同步的数据库为test;
步二 配置 mysql.ini:
a服务器
#replication master
server-id = 10
log-bin=e:/mysql/logs/mysql_binary_log
binlog-do-db=test
binlog-ignore-db=information_schema
# 单向备份时 a只需上面部分 b只需下面部分 下面部分同样需加server-id
# replication slave
master-host=192.168.1.23
master-user=root
master-password=123456
master-port=3306
master-connect-retry=60
replicate-do-db=test
replicate-ignore-db=information_schema
b服务器
#replication master
server-id = 2
log-bin=c:/mysql5/logs/mysql_binary_log
binlog-do-db=test
binlog-ignore-db=information_schema
# replication slave
master-host=192.168.1.43
master-user=backup
master-password=123456
master-port=3306
master-connect-retry=60
replicate-do-db=test
replicate-ignore-db=information_schema
=============================================================
解释:
3)binlog-do-db=test 表示需要备份的数据库是test这个数据库,
如果需要备份多个数据库,那么应该写多行,如下所示:
binlog-do-db=backup1
binlog-do-db=backup2
binlog-do-db=backup3
解释:
1) server-id=2表示本机器的序号, a,b的server-id 不能相同;
2)log-bin表示打开binlog,打开该选项才可以通过i/o写到slave的relay-log,也是可以进行replication的前提;
其中mysql_binary_log是日志文件的名称,mysql将建立不同扩展名,文件名为mysql_binary_log的几个日志文件.
3) master-host=192.168.1.23 表示a做slave时的master为192.168.1.23;
4) master-user=root 这里表示master上开放的一个有权限的用户,使其可以从slave连接到master并进行复制;
5) master-password=123456 表示授权用户的密码;
6) master-port=3306 master上mysql服务listen3306端口;
7) master-connect-retry=60 同步间隔时间;
8) replicate-do-db=test 表示同步backup数据库;
最后重新启动两台机器的mysql.
------------------------------------------------
查看状态 及调试
1,查看master的状态
show master status;
position 不应为0
2,查看slave的状态
show slave status;
slave_io_running | slave_sql_running 这两个字段 应为 yes|yes.
show processlist;
会有两条记录与同步有关 state为 has read all relay log; waiting for the slave i/o thread to update it
和s waiting for master to send event .
3,错误日志
mysql安装目录datahostname.err
主服务器上的相关命令:
show master status
show slave hosts
show {master|binary} logs
show binlog events
purge {master|binary} logs to ’log_name’
purge {master|binary} logs before ’date’
reset master(老版本flush master)
set sql_log_bin={0|1}
-----------------------------------------------------------------------------------
从服务器上的相关命令:
slave start
slave stop
slave stop io_thread //此线程把master段的日志写到本地
slave start io_thread
slave stop sql_thread //此线程把写到本地的日志应用于数据库
slave start sql_thread
reset slave
set global sql_slave_skip_counter
load data from master
show slave status(super,replication client)
change master to master_host=, master_port=,master_user=, master_password= //动态改变master信息
purge master [before ’date’] 删除master端已同步过的日志
其它类似信息

推荐信息