Slony-I还有用吗,如果有,它是什么?为了澄清起见,从 9.0 Postgresql 开始支持内置流复制。
我想将 MySQL 数据库的内容复制到 MS SQL Server 2008 数据库。
这可能吗?任何人都可以概述实现这一目标所需的步骤吗?
谢谢。
我已将我的从属设置为不复制“mysql”数据库,如此处所述 SHOW SLAVE STATUS\G;
Slave_IO_State: Waiting for master to send event
Master_Host: 127.0.0.1
Master_User: replication
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.000001
Read_Master_Log_Pos: 1660
Relay_Log_File: mysql-relay-bin.000004
Relay_Log_Pos: 478
Relay_Master_Log_File: master-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
**Replicate_Ignore_DB: mysql**
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 1660
Relay_Log_Space: 633
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Run Code Online (Sandbox Code Playgroud)
现在,如果我去主服务器和问题上GRANT和FLUSH PRIVILEGES:
GRANT SELECT ON *.* TO `foo`@`localhost` IDENTIFIED BY 'bar';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
然后我回到从服务器并发出:
SHOW GRANTS FOR `foo`@`localhost`; …Run Code Online (Sandbox Code Playgroud) 我只想捕获 Slave_IO_Running 和 Slave_SQL_Running 列值的状态/结果,我将使用它们集成到我们的应用程序中。
有没有办法只获取这些字段的值,而不是获取 SHOW SLAVE STATUS 的所有字段的值。
我的操作系统是windows。
我正在使用 MySQL 5.0.24
我有一个拥有 298 个中继 bin 文件的大师,截至今天,可以追溯到 298 天。
.cnf 文件中没有中继日志定义
和
mysql> show variables like '%relay%';
+---------------------------------+----------------+
| Variable_name | Value |
+---------------------------------+----------------+
| innodb_overwrite_relay_log_info | OFF |
| max_relay_log_size | 0 |
| relay_log | |
| relay_log_index | |
| relay_log_info_file | relay-log.info |
| relay_log_purge | ON |
| relay_log_space_limit | 0 |
+---------------------------------+----------------+
Run Code Online (Sandbox Code Playgroud)
重置奴隶会清除它们,但随后它们才开始再生。
知道是什么原因造成的吗?如何阻止它?
对请求的编辑
欢迎对 cnf 进行一般性批评,但让我们记住 OP 主题。
---- cnf request
[mysqld]
character_set_server = utf8
max_connections=200
max_user_connections=160
max_connect_errors=10000
userstat_running = 1
log_warnings
slow_query_log=1
slow_query_log_file=/var/log/mysql/mysql-slow.log …Run Code Online (Sandbox Code Playgroud) 我正在运行带有主/从复制(1 个主,2 个从)的 MySQL5.5。
我有一个每周运行一次并截断特定表的进程。表不大,只有几千条记录。
出于某种原因,该TRUNCATE TABLE命令需要很长时间才能执行(在主机和从机上)。执行大约需要 400K 毫秒!!当它在从站上运行时,会导致它滞后于主站。在后TRUNCATE TABLE结束,一切恢复正常。
我知道其中一个从站在执行时没有收到任何读取,TRUNCATE TABLE因为它是一个专用的从站,并且从该从站读取的进程已关闭。此外,在此从属设备上,执行所需的时间相同。
这是表结构:http : //pastebin.com/qEQB4juR
关于如何加速 TRUNCATE TABLE 的任何想法?
我想在位于我的主要物理数据库服务器下的物理服务器上设置一个备份数据库。我正在使用 Postgres 9.2,并且我想使用同步流复制(用于原子性),但我完全不知道诸如A)初始表设置如何从服务器 1 传输到服务器 2(例如,我运行syncdb来自我的 Django 应用程序,它在服务器 1) 上创建了一系列表),以及B)如何将持续的架构更改从服务器 1 传送到服务器 2(例如,我运行 Django South 迁移,它发送ALTER TABLE查询,以及添加/删除索引等)。这些事情是通过流式复制透明地处理的,还是我必须做些什么才能影响两台服务器之间的这种变化?
我有以下情况:我有三台机器运行 postgresql 数据库。一台机器保存客户端帐户信息(称为这台机器 C),另外两台机器保存客户端日志信息(称为 L1 和 L2)。拆分的原因是为了在多台机器上分开加载(所以一些客户端将日志信息发送到 L1,一些发送到 L2 ......也许还有一些时间 L3、L4,......)。
检索日志信息时,原则上我希望能够在 Ln 上的日志记录表和 C 上的客户帐户表之间进行 JOIN。实际上我不能这样做(即使我可以,我也希望以避免加载 C)。
我的想法是将 C 上的表复制到 L1、L2 中的每一个上,以便我可以进行连接。就来自 C 的表而言,C 是主表,L1、L2、... 是从表。但是对于 L1、L2 上的其他表,...这些机器是大师。它不完全是主-主复制,也不完全是主从。
是否可以说服 postgres(我正在运行 9.1)复制来执行此操作,或者如果没有其他软件包可以完成这项工作。作为最后的手段,我可以编写一些代码来定期同步表(我可以容忍一些延迟),但最好不要这样做!
提前致谢。
我有一个带有主站和从站的 MySQL 数据库设置。据我了解,master将事务事件写入二进制日志,由slave读取并执行,从而使slave成为master的连续副本。
我的印象是,在我可以安全地清除它之前,我需要确保从站已经消耗了一个特定的二进制日志文件。但是现在我已经阅读了一些文档,表明从站并没有真正使用二进制日志以便于复制。相反,从站上感兴趣的是中继日志。二进制日志只有在我需要进行时间点恢复时才有趣。这样对吗?
如果正确,这是否意味着我可以随时关闭从站上的二进制日志或清除它们?