标签: mysql-replication

如何从 MySQL 导出权限,然后导入到新服务器?

我知道如何使用 mysqldump 导出/导入数据库,这很好,但我如何将权限授予新服务器。

额外的一点是,新数据库上已经有几个现有数据库,如何导入旧服务器权限而不破坏现有的几个数据库。

旧服务器:5.0.67-社区

新服务器:5.0.51a-24+lenny1

编辑:我从旧服务器上获得了 db 'mysql' 的转储,现在想知道与新服务器上的 'mysql' db 合并的正确方法。

我尝试使用 phpMyAdmin 直接“导入”,结果出现了关于重复的错误(我已经手动迁移过)。

任何人都有合并两个“mysql”数据库的优雅方式?

mysql linux debian mysql-replication database-administration

94
推荐指数
7
解决办法
14万
查看次数

MySQL slave 可以同时做 master 吗?

我正在将 2 个数据库服务器(主和从)迁移到两个新的数据库服务器(主和从)

DB1 - 主(生产)

DB2 - 从(生产)

DB3 - 新主

DB4 - 新从

目前我将复制设置为:

DB1 -> DB2
DB3 -> DB4
Run Code Online (Sandbox Code Playgroud)

为了将生产数据复制到新服务器,我想将它“菊花链”,使其看起来像这样:

DB1 -> DB2 -> DB3 -> DB4
Run Code Online (Sandbox Code Playgroud)

这可能吗?当我show master status;在 DB2(生产从站)上运行时,binlog 位置似乎永远不会改变:

+-----------------+----------+--------------+---- --------------+
| 档案 | 职位 | Binlog_Do_DB | Binlog_Ignore_DB |
+-----------------+----------+--------------+---- --------------+
| mysql-bin.000020 | 98 | | |
+-----------------+----------+--------------+---- --------------+

我有点困惑为什么 DB2 上的 binlog 位置没有改变,理想情况下它将成为 DB3 的主控。

mysql mysql-replication

20
推荐指数
2
解决办法
3万
查看次数

所有数据库的 MySQL Master-Master 复制。如何?

背景:按照这个优秀的指南,我在 Master-Master 基于行的复制 (RBR) 中设置了两个 MySQL 5.1 服务器。我希望复制所有数据库,并将定期添加新数据库。

目标:我希望能够通过将数据库添加到其中一台服务器来将新数据库添加到复制中; 无需停止两个从站,更改配置文件,重新启动 MySQL 服务器,然后再次启动从站。

:从我读过,我我可以通过简单的漏报任何一个做到这一点binlog-do-dbbinlog-ignore-dbreplicate-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 …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-replication mysql5.1

17
推荐指数
1
解决办法
2万
查看次数

可以复制`mysql`数据库吗?

当我最初设置主到主复制时,我使用了:

binlog-ignore-db=mysql
Run Code Online (Sandbox Code Playgroud)

并且一直在手动同步用户帐户和授权。这就是我当时使用的操作指南中的做法。但是有什么理由我不应该删除这一行并允许mysql数据库本身也进行复制?

如果是这样:在我进行更改之前,除了确保两者的所有授权都相同(或者更好地说明,整个 mysql 数据库是相同的)之外,还有什么我应该仔细检查或注意的吗?

mysql mysql-replication

15
推荐指数
1
解决办法
5468
查看次数

防止非复制写入 MySQL 从站?

我们有一些 MySQL 数据库服务器设置了基于行的复制,以提高性能。软件写入主机,并从主机或从机读取。在大多数情况下,一切都很好。

我的理解是 MySQL 将允许写入从站,即使它知道它是一个 MySQL 从站。理想情况下,我想关闭它,因此即使有人编写了一些错误的代码来获取读取连接并执行UPDATE,它也会抛出错误而不是将数据放在从属设备上。

有没有办法在 MySQL 中做到这一点?显然,我们也希望通过我们的软件使这成为不可能,但是就像我们服务器上的防火墙一样,我希望尽可能地防御。

谢谢!

mysql mysql-replication replication

14
推荐指数
2
解决办法
8499
查看次数

是什么导致 MySQL 错误 1062 - 启动从站时出现重复条目​​?

  • MySQL 主版本:5.5.16-1
  • MySQL 从站版本:5.5.18-1

主节点的快照是通过以下方式创建的:

mysql> FLUSH TABLES WITH READ LOCK;
shell> mysqldump --all-databases --master-data > dbname_`date +%F`.sql
Run Code Online (Sandbox Code Playgroud)

这个转储文件被导入到从站(用--skip-slave-start选项启动)没有错误:

shell> pv dbname_`date +%F`.sql | mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

但是在执行时出现以下错误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 (id, user_id, channel, message, link, picture, name, ...
Run Code Online (Sandbox Code Playgroud)

master上只有一条ID为115846的记录:

mysql> select count(*) from request_posted where id=115846;
Current database: db

+----------+
| count(*) |
+----------+
|        1 …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-replication

14
推荐指数
2
解决办法
5万
查看次数

如何以最少的停机时间设置 MySQL 复制

基本上,我们有一个大型 MySQL 数据库,我们希望复制到从站(主从设置)。你们有关于如何在数据库停机时间最短的情况下做到这一点的分步指南吗?备份数据库并将备份传输到从服务器(甚至通过专用网络)大约需要 40 分钟。相当长的停机时间。

mysql-replication master-slave

13
推荐指数
2
解决办法
6456
查看次数

我可以在 glusterfs 之上运行 mysqld 吗?

我最近一直在玩 glusterfs。

我想尝试以类似的方式在 glusterfs 之上运行 mysqld ,因为可以在 DRBD 之上运行MySQL

我熟悉 MySQL 复制以及使用它代替这种方法的优势,我也知道 MongoDB 和其他 NoSQL 解决方案。

但是,如果我可以保留 MySQL 原样并复制底层文件系统,这将是我即将提出的一些特定项目的简单解决方案。

这是可能的,如果是的话,我在哪里可以找到方法?

mysql mysql-replication glusterfs

12
推荐指数
3
解决办法
2万
查看次数

跨地域不同服务器的 MySQL 复制

我的组织一直在研究如何在地理上分布我们的服务器,同时保持备份非常最新,并在理想情况下分散负载。

我首先想到的是 MySQL 上的 Rails。写入速率不太高(文章/评论每分钟不到 1 条,尽管有些有大媒体附件)。

所以,

  • MySQL 复制在广域网中运行良好吗?
  • 连接(或从服务器)断开是否意味着需要手动干预(一旦两台服务器可以再次相互通信)或者恢复是自动的?
  • 如果主人消失了,从奴隶变成主人需要什么?是否有标准脚本/工具来帮助管理?
  • 任何其他问题等?

mysql mysql-replication ruby-on-rails

11
推荐指数
1
解决办法
2227
查看次数

Slave_SQL_Running:否:MySQL 复制停止工作

我的从数据库 (MySQL 5.7.12) 上的复制突然停止工作。当我运行时,SHOW SLAVE STATUS\G我看到以下错误:

Last_Errno: 1396
Last_Error: Error 'Operation CREATE USER failed for 'user'@'ip'' on query. Default database: ''. Query: 'CREATE USER 'user'@'ip' IDENTIFIED WITH 'mysql_native_password' AS '*password''
Run Code Online (Sandbox Code Playgroud)

我最近在我的主人和我的奴隶上创建了 2 个新的只读用户,所以我确定这是因为这个。

我也在状态中看到了这一点:

Slave_IO_Running: Yes
Slave_SQL_Running: No
Run Code Online (Sandbox Code Playgroud)

对于如何解决这个问题,有任何的建议吗?

谢谢你。

mysql mysql-replication

9
推荐指数
1
解决办法
2万
查看次数