标签: replication

流式复制日志让我很困惑

我有一个流式复制热备用设置,它似乎运行良好。我可以登录,执行选择,结果似乎与主人是最新的。但是在备用的日志中,我看到了很多这样的:

cp: cannot stat `/mnt/wal_drive/wals/0000000100004BA800000070': No such file or directory
2014-02-28 16:00:37 CET LOG:  record with zero length at 4BA8/70DD79D0
2014-02-28 16:00:37 CET LOG:  started streaming WAL from primary at 4BA8/70000000 on timeline 1
2014-02-28 16:02:59 CET FATAL:  could not receive data from WAL stream: SSL error: sslv3 alert unexpected message
Run Code Online (Sandbox Code Playgroud)

这些分别是什么意思,我应该担心它们中的任何一个吗?

附注。在 master 中,我看到了其中一些,我希望它们与 SSL 相关:

2014-02-28 16:10:33 CET LOG:  SSL renegotiation failure
2014-02-28 16:10:33 CET LOG:  SSL error: unexpected record
Run Code Online (Sandbox Code Playgroud)

我在 ubuntu 12.04 上运行 postgresql 9.3

编辑

关于 …

postgresql replication

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

无需停机即可将数据类型从 mediumint 更改为 int

我当前的表MEDIUMINT用于 ID 列“主键自动增量”。当前表记录很快就会达到最大值,mediumint即8388607。既然如此,我需要将类型int更改为或更改为unsigned不停机。

我的设置是 Amazon RDS 上的主从 MySQL 5.6。我有一个主人和四个奴隶。

  • 我试图在从属服务器上将列类型更改为 int ,但它破坏了复制。
  • 记录正在更改,因此无法将表复制到另一个表。
  • 我无法pt-table-sync在 Amazon RDS 上使用同步另一个表,然后在新表上进行更改。

有什么办法可以int不用锁表就改成?

更新:我不确定该属性是签名还是未签名。我无法找到它签署与否的地方。我运行show columns from table,结果如下:

+----------------+--------------+------+-----+---------+----------------+
| Field          | Type         | Null | Key | Default | Extra          |
+----------------+--------------+------+-----+---------+----------------+
|     id         | mediumint(8) | NO   | PRI | NULL    | auto_increment |
Run Code Online (Sandbox Code Playgroud)

mysql replication datatypes alter-table

3
推荐指数
1
解决办法
6143
查看次数

将数据库添加到使用 binlog_do_db 的现有复制?

我们有两台MySQL 5.5服务器在运行Ubuntu 12.04

我们成功地将 3 个数据库从server01复制到server02,但需要添加第 4 个(新)数据库。

我们my.cnf对主人有:

binlog_do_db = database1
binlog_do_db = database2
binlog_do_db = database3
Run Code Online (Sandbox Code Playgroud)

如何将第四个数据库添加到复制?我读过的所有内容都表明我们需要重新启动 MySQL,有什么办法可以解决这个问题吗?还是我们只需要安排它?

这是我们迄今为止的计划,但我希望有一种不需要重新启动的方法。我是否过于复杂了?




GRANT REPLICATION SLAVE ON *.* TO 'slaveusr'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
QUIT;
Run Code Online (Sandbox Code Playgroud)

编辑 my.cnf 以包含新数据库:

binlog_do_db = database4
Run Code Online (Sandbox Code Playgroud)

重启 MySQL

  service mysql restart
Run Code Online (Sandbox Code Playgroud)

将初始副本的数据库备份到从服务器

USE database4;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
Run Code Online (Sandbox Code Playgroud)

在新的外壳中

mysqldump -u root -ppassword --opt database4 > database4.sql
scp database4.sql root@server02:/home
Run Code Online (Sandbox Code Playgroud)

在旧壳中

UNLOCK …
Run Code Online (Sandbox Code Playgroud)

mysql replication mysql-5.5

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

为什么大多数 Galera 集群文档建议至少有 3 个节点作为典型设置?

Galera 文档和大多数实施此类设置的专家建议在 Galera 集群中至少有 3 个节点。这背后的原因是什么?

只有两个节点的集群设置本质上有缺陷吗?

mysql replication galera

3
推荐指数
1
解决办法
401
查看次数

MongoDb 副本集:如何验证其他服务器上的数据复制?

我有一个 3 成员副本集正在运行。它位于 3 个独立的 VPS 上。在主要我可以做 rs.status() 并看到它的工作。我无法在辅助节点上执行任何 mongo shell 命令。如何验证其他服务器上的数据复制?我在日志中看不到任何指示数据被复制的内容。

非常感谢您的帮助:-)

编辑1:

试过 db.printSlaveReplicationInfo()。以具有完全管理员角色的用户身份登录...

管理员用户未授权

编辑2:

在此处输入图片说明

replication mongodb

3
推荐指数
1
解决办法
6793
查看次数

MariaDB 多源复制 SQL_SLAVE_SKIP_COUNTER

当从主服务器执行语句时在从服务器上发生错误时,有时使用 SQL_SLAVE_SKIP_COUNTER 变量跳过查询的执行会很有用,如下所示:

STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
START SLAVE;
Run Code Online (Sandbox Code Playgroud)

虽然这适用于主复制线程,但我想知道在 MariaDB 多源复制线程上这怎么可能?

replication mariadb

3
推荐指数
1
解决办法
2415
查看次数

MySQL 5.5 到 RDS 5.6 复制错误

我面临以下错误并且无法修复它。到目前为止,我已经在RDS.

[Warning] Slave I/O: Notifying master by SET @master_binlog_checksum= @@global.binlog_checksum failed with error: Unknown system variable 'binlog_checksum', Error_code: 1193
2015-06-29 11:01:01 8026 [Warning] Slave I/O: Unknown system variable 'SERVER_UUID' on master. A probable cause is that the variable is not supported on the master (version: 5.5.41-0ubuntu0.12.04.1-log), even though it is on the slave (version: 5.6.22-log), Error_code: 1193
Run Code Online (Sandbox Code Playgroud)

mysql replication amazon-rds

3
推荐指数
1
解决办法
594
查看次数

InnoDB:错误:找不到表“mysql”.“innodb_table_stats”

我遇到了同样的错误,尽管我正在运行具有 3 个节点的 galera 集群。我尝试按照InnoDB的说明进行操作:错误:升级到 mysql 5.6 后找不到表“mysql”.“innodb_table_stats”,但是当我进入运行 create 语句的步骤时,出现以下错误:

Error Code: 1813. Tablespace for table '`mysql`.`innodb_index_stats`' exists.
Please DISCARD the tablespace before IMPORT.
Run Code Online (Sandbox Code Playgroud)

这对我来说毫无意义,当我尝试使用

drop tablespace `innodb_index_stats`;
Run Code Online (Sandbox Code Playgroud)

我收到一个 SQL sysntax 错误。

mysql innodb replication mariadb galera

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

MySQL将服务器中的一个db设置为slave

我有两个 MySQL 服务器(A 和 B)在不同的机器上运行。我想将 A 上的数据库 X 复制到 B。B 仍然是其他数据库的主数据库。我如何设置它以便 B 只为 X 服务,而为其他人服务?我目前将 A 配置为仅replicate-do-dbs=x.

mysql replication

3
推荐指数
1
解决办法
1067
查看次数

ssms - 如何格式化 T-SQL 脚本?

作为将文章添加到我的出版物的过程的一部分,我使用存储过程sp_addarticle

use [Returns]
exec sp_addarticle @publication = N'USReturns', @article = N'tblReturnsContainerTypeDescr', @source_owner = N'dbo', @source_object = N'tblReturnsContainerTypeDescr', @type = N'logbased', @description = N'', @creation_script = N'', @pre_creation_cmd = N'drop', @schema_option = 0x000000000803509F, @identityrangemanagementoption = N'none', @destination_table = N'tblReturnsContainerTypeDescr', @destination_owner = N'dbo', @status = 24, @vertical_partition = N'false', @ins_cmd = N'CALL [sp_MSins_dbotblReturnsContainerTypeDescr]', @del_cmd = N'CALL [sp_MSdel_dbotblReturnsContainerTypeDescr]', @upd_cmd = N'SCALL [sp_MSupd_dbotblReturnsContainerTypeDescr]'
GO
Run Code Online (Sandbox Code Playgroud)

我有超过数百篇文章的出版物。我保存了脚本,但我希望它们的格式正确。如何在 SSMS 中格式化我的脚本?

我想以这种方式查看我的脚本:

use [Returns]
exec sp_addarticle 
 @publication = N'USReturns', 
 @article = N'tblReturnsContainerTypeDescr', 
 @source_owner = N'dbo', 
 @source_object …
Run Code Online (Sandbox Code Playgroud)

replication sql-server ssms sql-server-2014

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