免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 6260 | 回复: 20
打印 上一主题 下一主题

mysql主从的2进制文件问题,求解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-15 13:49 |只看该作者 |倒序浏览
现在有一台mysql主机 A
用的是innode 打算用这个做master  前几天把几个月前的2进制文件删除了一部分。
现在想用B做slave,主A的2进制文件不全的情况下,可以同步么?小弟在线等,谢谢!

论坛徽章:
0
2 [报告]
发表于 2011-09-15 20:01 |只看该作者
可以

论坛徽章:
0
3 [报告]
发表于 2011-09-16 09:18 |只看该作者
可以同步的应该。

论坛徽章:
0
4 [报告]
发表于 2011-09-16 10:39 |只看该作者
回复 1# 最不爱吃鱼

把A的数据通过mysqldump导出,记得导出的时候加入--master-data=2,然后
grep -i "CHANGE MASTER TO" dumpfile 查找到log文件以及log文件的位置,再在从上执行change master ..... 语句就可以了

论坛徽章:
0
5 [报告]
发表于 2011-09-21 12:57 |只看该作者
回复 4# 飞鸿无痕
有没有详细点的资料,给个连接,或者email我一下也可以,linux@anylinux.info 我只配置过基本的主从,谢谢了。

论坛徽章:
0
6 [报告]
发表于 2011-09-21 19:16 |只看该作者
主库现有的数据, 是把它导入从库么后,再来  
还是想当然地认为,丛库会将以前的数据从binlog里replication过来咧?

论坛徽章:
0
7 [报告]
发表于 2011-09-22 08:55 |只看该作者
本帖最后由 飞鸿无痕 于 2011-09-22 08:58 编辑

回复 5# 最不爱吃鱼



同步历史数据就以下几个步骤,在做下面几步之前,应该先设置好主从同步,比如建同步帐号,设置不同的serverid,设置需要同步的库等,关于同步的设置网上很多,你找一下吧:
1、从主库中导出数据:
mysqldump -uroot -ppassword -h masterip --single-transaction --flush-logs --master-data=2 dbname > dbname.sql
2、在从库中导入dbname.sql数据
mysql -uroot -ppassword -h slaveip dbname < dbname.sql
3、找出在主库上导出数据时的log文件以及log文件的位置
grep -i "CHANGE MASTER TO" dbname.sql
假如这里返回:
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000495', MASTER_LOG_POS=106;
4、根据找到的log文件以及log文件的位置,登陆从库执行change master语句
change master to master_host='masterip',master_user='replication_user',master_password='password',master_log_file='mysql-bin.000495', master_log_pos=106;
start slave;

最后用show slave status\G;查看一下同步是否正常就Ok了!

评分

参与人数 1可用积分 +10 收起 理由
枫影谁用了 + 10 +

查看全部评分

论坛徽章:
0
8 [报告]
发表于 2011-09-22 11:31 |只看该作者
回复  最不爱吃鱼



同步历史数据就以下几个步骤,在做下面几步之前,应该先设置好主从同步,比如建同 ...
飞鸿无痕 发表于 2011-09-22 08:55



    我是这样做的
主服务器my.cnf
server-id=1
log-bin=log
binlog-do-db=xxxooo
grant all privileges  on *.* to 'root'@'192.168.0.171' identified by '123456';

从服务器my.cnf
server-id=2
create database `xxxooo` default character set utf8 collate utf8_general_ci ;
#锁定主服务器的表
flush tables with read lock;
show mater status; #记录log.000数值 post值
mysqldump -uroot -p xxxooo > 备份的sql
unlock tables; 解锁表



#恢复slave的表
mysql -uroot -p xxxooo < 备份的sql
stop slave;
change master to master_host='192.168.0.130', master_user='root', master_password='123456', master_log_file='log.000 ' ,master_log_pos= ;
start slave;


由于主的部分2进制文件我备份到另外一台机器上了,所以不全,另外主还用了innodb引擎,数据都是记录在ibdata里的。


现在mysql报错


110922 10:15:23 [ERROR] Error reading packet from server: Could not find first log file name in binary log index file ( server_errno=1236)
110922 10:15:23 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file', Error_code: 1236
110922 10:15:23 [Note] Slave I/O thread exiting, read up to log 'log.00048', position 106
110922 10:18:05 [Note] Error reading relay log event: slave SQL thread was killed
110922 10:18:24 [Note] 'CHANGE MASTER TO executed'. Previous state master_host='192.168.0.101', master_port='3306', master_log_file='log.00048', master_log_pos='106'. New state master_host='192.168.0.101', master_port='3306', master_log_file='log.00049', master_log_pos='19863'.
110922 10:18:27 [Note] Slave SQL thread initialized, starting replication in log 'log.00049' at position 19863, relay log './mail-relay-bin.000001' position: 4
110922 10:18:27 [Note] Slave I/O thread: connected to master 'slave@192.168.0.101:3306',replication started in log 'log.00049' at position 19863
110922 10:18:27 [ERROR] Error reading packet from server: Could not find first log file name in binary log index file ( server_errno=1236)
110922 10:18:27 [fly][ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file', [/fly]Error_code: 1236
110922 10:18:27 [Note] Slave I/O thread exiting, read up to log 'log.00049', position 19863

现在是这样,我晚上的时候访问量少,把站点停掉按照你的方法在试试,先谢过了。

论坛徽章:
0
9 [报告]
发表于 2011-09-22 12:34 |只看该作者
回复 8# 最不爱吃鱼


    按照我那个方法,不需要停服务的!

论坛徽章:
0
10 [报告]
发表于 2011-09-22 14:46 |只看该作者
回复  最不爱吃鱼


    按照我那个方法,不需要停服务的!
飞鸿无痕 发表于 2011-09-22 12:34


好,我试试 ,谢谢先。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP