概述
首先准备两台服务器:
主:192.168.1.88
从:192.168.1.78
创建需要同步的数据库,比如为sync_db,将这个数据库各拷贝到78和88一份
修改主服务器88上的配置,找到my.cnf文件,若不知道位置,可以使用
#find / -name “my.cnf”找到
#vi /etc/my.cnf
添加:
#88 master server
server-id=100088
log-bin
binlog_do_db=sync_db
解释:
1) server-id:标识,唯一,值范围在:1至2^23-1
2) log-bin:配置是否在数据库有变动时写二进制日志,在mysql的的数据目录下回生成
mysqld-bin.000001的文件。
可在mysql命令行通过show variables like ‘%bin’;查看是否开启,ON表示已开启。
3) binlog_do_db:同步的数据库
修改从服务器78的配置,在my.cnf中添加
#23 slave server
server-id=100078
master-host=192.168.1.88
master-user=root
master-password=123456
master-port=3306
master-connect-retry=60
replicate-do-table=sync_db.c_user
replicate-do-table=sync_db.c_citys
解释:
1) master-host, master-user, master-password, master-port分别为主服务器的主机IP,用户,密码,端口
2) master-connect-retry为:尝试连接的最大时间,单位为秒
3) replicate-do-table为:同步的表,也可以使用replicate-do-db=sync_db同步整个数据库
重启主服务器和从服务器
#service mysqld restart
主服务器数据库目录下会生成mysqld-bin.index和mysqld-bin.000001文件
mysqld-bin.000001为主服务器操作的记录,包括sql语句等
从服务器数据库目录会生成:
master.info
relay-log.info
mysql-bin.index
mysql-bin.000001
mysqld-relay-bin.index
mysqld-relay-bin.000001
测试同步
更改主服务器88上的数据
insert into c_user(name,sex,age,address) values(‘zhangsan’,’1′,20,’beijing’);
可看到从服务器上也同时插入了一条数据
查看主从服务器同步状态
主服务器
mysql>show master status
从服务器
解释:
1) Slave_IO_Running和Slave_SQL_Running的值均为Yes时为同步开启;
2) Last_Errno和Last_Error是错误信息的提示(如果有错误)
故障修复:
若发现从服务器数据中断,可使用change重新定位同步点,如下:
stop slave; # MySQL 返回的查询结果为空 (即零行)。
CHANGE MASTER TO
MASTER_HOST=’192.168.1.88′,
MASTER_LOG_FILE=’mysqld-bin.000043′,
MASTER_LOG_POS=464512808;# MySQL 返回的查询结果为空 (即零行)。
start slave;# MySQL 返回的查询结果为空 (即零行)。
MASTER_LOG_FILE和MASTER_LOG_POS为主服务器上的同步二进制文件同步点
可通过show master status查看
最后
以上就是平淡棒棒糖为你收集整理的mysql 返回的查询结果为空 (即零行)._Mysql数据同步(单向)的全部内容,希望文章能够帮你解决mysql 返回的查询结果为空 (即零行)._Mysql数据同步(单向)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复