Questions tagged «mysql-replication»

复制使数据可以从一台MySQL数据库服务器(主服务器)复制到一台或多台MySQL数据库服务器(从服务器)。

10
如何从MySQL导出特权,然后导入到新服务器?
我知道如何使用mysqldump导出/导入数据库,这很好,但是如何将特权获取到新服务器中。 值得一提的是,新数据库上已经有几个现有数据库,我该如何导入旧服务器特权而又不破坏已有的几个数据库。 旧服务器:5.0.67-社区 新服务器:5.0.51a-24 + lenny1 编辑:我已经从旧服务器上获取了数据库“ mysql”的转储,现在想知道与新服务器上的“ mysql”数据库合并的正确方法。 我使用phpMyAdmin尝试了直接的“导入”,最后出现了关于重复项的错误(我已经手动迁移了一个)。 有没有人很好地合并两个“ mysql”数据库?

5
MySQL从站可以同时成为主站吗?
我正在将2个数据库服务器(主服务器和从服务器)迁移到两个新的数据库服务器(主服务器和从服务器) DB1-主(生产) DB2-从站(生产) DB3-新手 DB4-新奴隶 目前,我将复制设置为: DB1 -> DB2 DB3 -> DB4 为了将生产数据复制到新服务器上,我想将其“菊花链式”,使其看起来像这样: DB1 -> DB2 -> DB3 -> DB4 这可能吗?当我show master status;在DB2(生产从属服务器)上运行时,binlog位置似乎从未改变: + ------------------ + ---------- + -------------- + ---- -------------- + | 档案| 职位| Binlog_Do_DB | Binlog_Ignore_DB | + ------------------ + ---------- + -------------- + ---- -------------- + …

4
所有数据库的MySQL Master-Master复制。怎么样?
背景知识:在这份出色的指南之后,我在Master-Master基于行的复制(RBR)中设置了两个MySQL 5.1服务器。我希望复制所有数据库,并将定期添加新数据库。 目标:通过将数据库添加到其中一台服务器,我希望能够将新数据库添加到复制中。 无需停止两个从站,也无需更改配置文件,重新启动MySQL服务器,然后再次启动从站。 问:从我读过,我想我可以通过简单的漏报任何一个做到这一点binlog-do-db,binlog-ignore-db,replicate-do-db,并replicate-ignore-db在每个服务器的配置设置,但我不能肯定。MySQL的有关如何评估数据库级和表级复制选项的文档使我认为可能根本无法实现这一目标。 我/etc/mysql/my.cnf文件的相关部分复制如下。我在正确的轨道上吗?我想要的甚至有可能吗? 硕士1: [mysqld] binlog-format = row server-id = 1 replicate-same-server-id = 0 auto-increment-increment = 2 auto-increment-offset = 1 master-host = <master2_ip> master-user = slave_user master-password = <password> master-connect-retry = 60 log-bin = /var/log/mysql/mysql-bin.log relay-log = /var/lib/mysql/slave-relay.log relay-log-index = /var/lib/mysql/slave-relay-log.index expire_logs_days = 14 max_binlog_size = 2048M …

2
复制mysql数据库是否可以?
最初设置主对主复制时,我使用了: binlog-ignore-db=mysql 并且一直在手动同步用户帐户和授权。这就是我当时使用的方法中所做的简单操作。但是,有什么原因为什么我不应该删除此行并允许mysql数据库本身也进行复制? 如果是这样的话:在我进行更改之前,除了确保所有授予都相同(或者更好地说,整个mysql数据库是相同的)之外,还有什么我应该仔细检查或意识到的吗?

5
防止非复制写入MySQL从站?
为了性能,我们有一些MySQL数据库服务器设置了基于行的复制。该软件将写入主机,并从主机或从机读取数据。大部分情况下,一切工作都很好。 我的理解是,即使MySQL知道它是MySQL从站,也将允许对从站进行写操作。理想情况下,我想关闭此窗口,因此,即使有人编写了一些错误的代码以获取读取连接并执行UPDATE,它也会抛出错误,而不是将数据放在从属服务器上。 有没有办法在MySQL中做到这一点?显然,我们也希望通过我们的软件也无法做到这一点,但是就像我们服务器上的防火墙一样,我想尽可能地防御。 谢谢!

5
我可以在glusterfs上运行mysqld吗?
我最近一直在玩glusterfs。 我想尝试的是以类似的方式在glusterfs之上运行mysqld,因为有可能在DRBD之上运行MySQL。 我熟悉MySQL复制以及使用它代替这种方法的优点,并且我也知道MongoDB和其他NoSQL解决方案。 但是,如果我可以保留MySQL原样并复制基础文件系统,那将是对我即将进行的一些特定项目的简单解决方案。 这可能吗?如果在哪里可以找到方法?

3
如何以最少的停机时间设置MySQL复制
基本上,我们有一个大型的MySQL数据库,我们正在寻求复制到从属服务器(主从属服务器设置)。你们是否有有关如何在数据库中最小停机时间执行此操作的分步指南?备份数据库并将备份传输到从服务器(即使是通过专用网络)也需要40分钟左右。相当长的停机时间。

5
是什么导致MySQL错误1062-启动从属服务器时出现重复条目​​?
MySQL主版本:5.5.16-1 MySQL Slave版本:5.5.18-1 主机的快照是通过以下方式创建的: mysql> FLUSH TABLES WITH READ LOCK; shell> mysqldump --all-databases --master-data > dbname_`date +%F`.sql 此转储文件已导入从站(以--skip-slave-startoption 开头),没有错误: shell> pv dbname_`date +%F`.sql | mysql -u root -p 但是执行时出现以下错误mysql> start slave;: Last_SQL_Errno: 1062 Last_SQL_Error: Error 'Duplicate entry '115846' for key 'PRIMARY'' on query. Default database: 'db'. Query: 'INSERT INTO request_posted …

3
跨地理位置分开的服务器进行MySQL复制
我的组织一直在研究如何在地理位置上分布我们的服务器,同时使备份保持最新状态,并理想地分布负载。 我最初想到的是MySQL上的Rails。写入速度不太高(文章/评论每分钟少于1条,尽管有些具有较大的媒体附件)。 所以, MySQL复制在广域网中运作良好吗? 连接(或从属服务器)断开意味着是否需要手动干预(一旦两台服务器可以再次相互通信)还是恢复自动进行? 如果主机消失,将从机变成主机需要什么?是否有标准的脚本/工具来帮助管理? 还有其他陷阱吗?

1
max_binlog_size和日志箱大小
我的全盘有问题 -rw-rw---- 1 mysql mysql 1073741982 2012-07-03 18:14 mysql-bin.000034 -rw-rw---- 1 mysql mysql 1073741890 2012-07-04 14:39 mysql-bin.000035 -rw-rw---- 1 mysql mysql 1073741988 2012-07-05 09:16 mysql-bin.000036 -rw-rw---- 1 mysql mysql 1073741964 2012-07-06 00:04 mysql-bin.000037 -rw-rw---- 1 mysql mysql 1073741974 2012-07-06 21:45 mysql-bin.000038 -rw-rw---- 1 mysql mysql 1073741923 2012-07-07 19:05 mysql-bin.000039 -rw-rw---- …

1
主-主复制的恢复策略
我已经基于master-master复制为MySQL实现了HA解决方案。前端部分有一种机制可以保证在给定的时间只能读取/写入一个数据库(即,我们仅对HA使用复制)。 我已经确认复制可以按预期进行,但是我想知道故障情况和恢复。特别是,我担心一个主机在无法恢复的状态下发生故障并需要从另一主机重新创建时会发生什么情况: 由于另一个主mysqldump数据库处于活动状态并且很可能已被使用,因此我无法锁定它并从中创建转储(我们的数据库相当大,mysqldump使用几个月后很容易花费数小时)。 即使假设我有一个转储,也至关重要的是,SHOW MASTER STATUS所显示的binlog位置必须与锁定数据库后进行的转储相对应。 解决第一个问题的简单方法是使用第三个数据库作为备份,我可以从中进行备份mysqldump。但是,如何确保重新创建的母版可以以一致的方式从正在运行的母版开始复制?

2
sql_error后重新启动mysql复制
我有两台mysql服务器,一台主服务器和一台从服务器。 有人继续从属并创建了一个表,然后又继续使用了主方并创建了相同的表。当然,此DDL语句已复制到从属服务器,从而导致错误,并导致复制在错误发生时停止。 在删除从属服务器上的表或在该语句之后开始复制之后,应该如何重新启动复制过程? 显示从站状态输出: mysql> show slave status \G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: xx.xx.xx.xx Master_User: buildbot Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.024536 Read_Master_Log_Pos: 33489509 Relay_Log_File: mysqld-relay-bin.049047 Relay_Log_Pos: 32575097 Relay_Master_Log_File: mysql-bin.024476 Slave_IO_Running: Yes Slave_SQL_Running: No Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 1050 …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.