我有一个流式复制热备用设置,它似乎运行良好。我可以登录,执行选择,结果似乎与主人是最新的。但是在备用的日志中,我看到了很多这样的:
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
编辑
关于 …
我当前的表MEDIUMINT用于 ID 列“主键自动增量”。当前表记录很快就会达到最大值,mediumint即8388607。既然如此,我需要将类型int更改为或更改为unsigned不停机。
我的设置是 Amazon RDS 上的主从 MySQL 5.6。我有一个主人和四个奴隶。
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 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) Galera 文档和大多数实施此类设置的专家建议在 Galera 集群中至少有 3 个节点。这背后的原因是什么?
只有两个节点的集群设置本质上有缺陷吗?
我有一个 3 成员副本集正在运行。它位于 3 个独立的 VPS 上。在主要我可以做 rs.status() 并看到它的工作。我无法在辅助节点上执行任何 mongo shell 命令。如何验证其他服务器上的数据复制?我在日志中看不到任何指示数据被复制的内容。
非常感谢您的帮助:-)
编辑1:
试过 db.printSlaveReplicationInfo()。以具有完全管理员角色的用户身份登录...
编辑2:

当从主服务器执行语句时在从服务器上发生错误时,有时使用 SQL_SLAVE_SKIP_COUNTER 变量跳过查询的执行会很有用,如下所示:
STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
START SLAVE;
Run Code Online (Sandbox Code Playgroud)
虽然这适用于主复制线程,但我想知道在 MariaDB 多源复制线程上这怎么可能?
我面临以下错误并且无法修复它。到目前为止,我已经在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) 我遇到了同样的错误,尽管我正在运行具有 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 服务器(A 和 B)在不同的机器上运行。我想将 A 上的数据库 X 复制到 B。B 仍然是其他数据库的主数据库。我如何设置它以便 B 只为 X 服务,而为其他人服务?我目前将 A 配置为仅replicate-do-dbs=x.
作为将文章添加到我的出版物的过程的一部分,我使用存储过程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 ×10
mysql ×6
galera ×2
mariadb ×2
alter-table ×1
amazon-rds ×1
datatypes ×1
innodb ×1
mongodb ×1
mysql-5.5 ×1
postgresql ×1
sql-server ×1
ssms ×1