我们正在创建一个新的mysql从服务器,但是对于转储,我们从备份服务器上获取,它是当前主服务器的一个从服务器。现在,为了启用复制,我们希望将其连接到主服务器,所以我应该从主服务器或从备份服务器获取转储的日志位置。
其次,我们创建的新服务器为5.6,旧服务器为5.5,是否也存在复制问题?
发布于 2015-06-18 14:16:13
如果您想从另一个从步骤中安装从属程序,则如下所示
关于主从版本差异的详细信息,应该不是什么大问题,但一个好主意是阅读MySQL文档。
希望它能帮上忙
发布于 2015-06-18 16:05:00
在MySQL 5.6中,mysqldump可以使用-转储-奴隶=1和-单笔交易为您完成这一任务。它与-主-数据=1相同,但下面是如何检索日志文件和位置:
SHOW MASTER STATUS;中的日志文件和位置Relay_Master_Log_File,Exec_Master_Log_Pos来自SHOW SLAVE STATUS\G。-转储-奴隶=1将运行以下操作:
STOP SLAVE SQL_THREAD;START SLAVE SQL_THREAD;不需要运行FLUSH TABLES WITH READ LOCK;
你还问
其次,我们创建的新服务器为5.6,旧服务器为5.5,是否也存在复制问题?
这只是一个可以将复制从5.5中断到5.6的主要问题。
我讨论了不同版本之间的binlog格式差异(请参阅mysql复制主5.5从5.1创建数据库错误)
在MySQL 5.5Master到MySQL 5.6奴隶的例子中,我老板最近发现的问题与新的时间戳格式有关。MySQL 5.6现在支持时间戳中的微秒。MySQL 5.5没有。在执行基于行的复制以及主和从配置联木_格式为行或混合。时,MySQL 5.6's IO线程将复制MySQL 5.5事件,并将其存储在中继中。如果事件包含时间戳,MySQL 5.6's SQL将中断尝试从中继日志中解压事件。
这一罕见事件的唯一解决办法是在主和从上设置联木_格式到语句。然后,设置复制。
步骤01 :只需在当前从服务器上运行此命令
mysqldump --dump-slave=1 --single-transaction ... > slave_data.sql
echo "START SLAVE;" >> slave_data.sql步骤02 :将slave_data.sql移动到新的从服务器
步骤03 :在新服务器上运行此命令
CHANGE MASTER TO
master_host='ipaddr_of_master',master_port=3306,
master_user='repluser',master_password='repluserpassword',
master_log_file='bin-log.000000',master_log_pos=4;
source slave_data.sql这将为您设置复制并启动它。
https://dba.stackexchange.com/questions/104451
复制相似问题