做MYSQL数据库同步时出错。高分在线等。不够再加分!!!

pansy5 2005-07-26 10:11:21
mysql> show slave status;
+---------------+-------------+-------------+---------------+-----------------+---------------------+-----------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+------------+------------+--------------+---------------------+-----------------+
| Master_Host | Master_User | Master_Port | Connect_retry | Master_Log_File | Read_Master_Log_Pos | Relay_Log_File | Relay_Log_Pos | Relay_Master_Log_File | Slave_IO_Running | Slave_SQL_Running | Replicate_do_db | Replicate_ignore_db | Last_errno | Last_error | Skip_counter | Exec_master_log_pos | Relay_log_space |
+---------------+-------------+-------------+---------------+-----------------+---------------------+-----------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+------------+------------+--------------+---------------------+-----------------+
| 192.168.37.188 | root | 3306 | 60 | | 4 | SERVER-relay-bin.005 | 4 | | No | Yes | | | 0 | | 0 | 0 | 4 |
+---------------+-------------+-------------+---------------+-----------------+---------------------+-----------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+------------+------------+--------------+---------------------+-----------------+

mysql> slave start; 后,| 192.168.37.188 | root | 3306 | 60 | | 4 | SERVER-relay-bin.005 | 4 | | Yes | Yes | | | 0 | | 0 | 0 | 4 |
以下是出错信息:
050726 11:35:59 Slave I/O thread: connected to master 'root@192.168.37.188:3306', replication started in log 'FIRST' at position 4
050726 11:35:59 Error reading packet from server: Could not find first log file name in binary log index file (server_errno=1236)
050726 11:35:59 Got fatal error 1236: 'Could not find first log file name in binary log index file' from master when reading data from binary log
050726 11:35:59 Slave I/O thread exiting, read up to log 'FIRST', position 4


配置文件:
master:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-bin
server-id=1

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid



slave:
[mysqld]
log-bin
server-id=2
sql-bin-update-same

master-host=192.168.37.188
master-user=root
master-password=password
master-connect-retry=60

log-slave-updates


好象没有得到服务器的日志文件。很着急啊。在线等。不够分再加!!!多谢!!
...全文
1068 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
iisfirewall 2010-06-02
  • 打赏
  • 举报
回复
没有效果!
pansy5 2005-07-27
  • 打赏
  • 举报
回复
tmdbcd0630(梦胧) ,你说的方法我前些天试过了。
SLAVE START是可以的。这个我在问题中已经说明。
但是马上就会终止线程。有可能是你说的那个理由。

这个问题,现在我已经解决了。就是将主机和备机上的bin.00* -relay-bin.00* master.info relay-log.info全部删除了。然后从新做的数据导入。
重新启动主机备份机,一切都OK了。

不知道为什么。感觉有点莫名其妙。
多谢各位的帮助! ^_^
tmdbcd0630 2005-07-26
  • 打赏
  • 举报
回复
Could not find first log file name in binary log index file (server_errno=1236)
楼主可以尝试在主从机器都运行的情况下,在从机输入:
MYSQL>SLAVE START;
强制同步一下看看行不?如果不行,那么:
1.停止主,从机器的MYSQL服务.
2.在服务全停的情况下,将主,从端的所有 bin.00* -relay-bin.00* master.info relay-log.info都删除
3.复制主机的/var/lib/mysql(或者说是你的数据库文件)到从机同样的位置(这一步很重要,我参考过官方网站,这一步其实就是一个数据库的SNAPSHOT数据快照,它要求用MYSQLDUMP生成个快照,但复制不是更省事吗:),相当于强制同步了一下)
4.启动MASTER,SLAVE
5.在从端MYSQL>SLAVE START;
应该就可以了.


  • 打赏
  • 举报
回复
可以将master端数据库备份一个覆盖备份机的数据库,然后重新启动备份机数据库
pansy5 2005-07-26
  • 打赏
  • 举报
回复
我已经将SLAVE端的 -bin.00* -relay-bin.00* master.info relay-log.info 删除过,重新启动后又自动生成了。
MASTER端的日志没有删除过。
pansy5 2005-07-26
  • 打赏
  • 举报
回复
服务器版本:server:4.0.21 share/client:3.23.58
备份机版本:server:4.0.21 share/client:3.23.58
  • 打赏
  • 举报
回复
服务器端的相关日志没找到,你可以删除服务器端和客户端日志文件及相关文件,然后重新开始
pansy5 2005-07-26
  • 打赏
  • 举报
回复
接上面:
服务器端能看到的
[root@BBB root]# cd /var/lib/mysql
[root@BBB mysql]# ls
BBB.err ibdata1 kf001 kf004 kf007 kf010 kf030 kf044 test
BBB-bin.001 BBB.pid ib_logfile0 kf002 kf005 kf008 kf028 kf031 mysql
BBB-bin.index ib_arch_log_0000000000 ib_logfile1 kf003 kf006 kf009 kf029 kf032 mysql.sock
[root@BBB mysql]#
应该是写进去了,因为BBB-bin.001在不断地增长。
为什么SLAVE端得不到数据呢?
  • 打赏
  • 举报
回复
'Could not find first log file name in binary log index file'
把主服务器和备份服务器data下面无用的数据删除,把主服务器下的日志文件也删除,如果不是很重要的话
pansy5 2005-07-26
  • 打赏
  • 举报
回复
以下是出错信息:
050726 11:35:59 Slave I/O thread: connected to master 'root@192.168.37.188:3306', replication started in log 'FIRST' at position 4
050726 11:35:59 Error reading packet from server: Could not find first log file name in binary log index file (server_errno=1236)
050726 11:35:59 Got fatal error 1236: 'Could not find first log file name in binary log index file' from master when reading data from binary log
050726 11:35:59 Slave I/O thread exiting, read up to log 'FIRST', position
已经在顶楼贴出来了。
另外我确信配置信息是没有错的。
  • 打赏
  • 举报
回复
data目录下会产生一个记录错误的文件:机器名.err,找出错误一步步更改过来。
  • 打赏
  • 举报
回复
以下作为参考
主服务器
log-bin = /binlog/bin
server-id = 1

备份服务器
server-id = 2
master-host=192.168.1.168
master-user=user1
master-password=12345
master-port=3306
master-connect-retry=10
replicate-do-db=mydatabase

pansy5 2005-07-26
  • 打赏
  • 举报
回复
我就是这样做的。
1 停掉MASTER的HTTPD服务。 等2分钟

2 MYSQLDUMP MASTER中的数据。

3 停掉MASTER中的MYSQL服务,删除日志文件及其他日志相关文件。(先不启动MASTER的MYSQL服务)

4 下载数据,并上传到SLAVE。

5 停掉SLAVE服务,停掉SLAVE的同步,删除SLAVE中的日志相关文件,启动SLAVE的MYSQL服务

6 SLAVE做数据库还原。

7 配置SLAVE同步

8 重新启动MASTER 和 SLAVE 机器。

权限问题已经做完了。
可是还是不行


56,884

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧