首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql主从复制场景

mysql主从复制场景
EN

Database Administration用户
提问于 2015-06-18 14:02:04
回答 2查看 1.1K关注 0票数 1

我们正在创建一个新的mysql从服务器,但是对于转储,我们从备份服务器上获取,它是当前主服务器的一个从服务器。现在,为了启用复制,我们希望将其连接到主服务器,所以我应该从主服务器或从备份服务器获取转储的日志位置。

其次,我们创建的新服务器为5.6,旧服务器为5.5,是否也存在复制问题?

EN

回答 2

Database Administration用户

发布于 2015-06-18 14:16:13

如果您想从另一个从步骤中安装从属程序,则如下所示

  • 用读锁刷新表以锁定从服务器,这样它就不会得到更新。
  • 显示从状态\g和注意主协调
  • 现在使用mysqldump进行备份
  • 解锁表以解锁从服务器。
  • 将备份传输到新备份。
  • 希望您在主服务器上有授予复制从站的问题,因此需要在新从属服务器上使用“更改母版”,并在步骤2中给予协调。

关于主从版本差异的详细信息,应该不是什么大问题,但一个好主意是阅读MySQL文档。

希望它能帮上忙

票数 1
EN

Database Administration用户

发布于 2015-06-18 16:05:00

在MySQL 5.6中,mysqldump可以使用-转储-奴隶=1-单笔交易为您完成这一任务。它与-主-数据=1相同,但下面是如何检索日志文件和位置:

  • -主-数据=1SHOW MASTER STATUS;中的日志文件和位置
  • -转储-奴隶=1Relay_Master_Log_FileExec_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 :只需在当前从服务器上运行此命令

代码语言:javascript
复制
mysqldump --dump-slave=1 --single-transaction ... > slave_data.sql
echo "START SLAVE;" >> slave_data.sql

步骤02 :将slave_data.sql移动到新的从服务器

步骤03 :在新服务器上运行此命令

代码语言:javascript
复制
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

这将为您设置复制并启动它。

试试看!

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/104451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档