Articles of mysql replication

不同主机上的MySQL数据库之间的同步

我想解决两个MySQL服务器实例之间的数据复制/数据同步问题。 它们都具有相同的数据库结构(数据库,表格,列,每个…),但是每个数据库在存储数据时都有不同的优先级。 一个从网站接收数据,网站是解决scheme的前端,另一个从后端获取数据。 这是一种负载平衡,因为后端没有很好的devise,如果在几秒钟之内无法写入数据,它的连接就会死亡。 为了使它更精确,我不得不提一下,后端和前端不会写入同一个表中。 目前这些数据库之间的同步是由触发器和存储过程来pipe理的,这应该被改变成一个更稳定的解决scheme。 我在网上find了一篇看起来很有前途的文章,但是它提出了一个问题:是否可以同时创build两个服务器主服务器和从服务器? 如果是的话,这将是完美的。 顺便说一句:如果是的话,我可能会问如何完成(每个服务器上的主从设置configuration?)。 我想问问是否还有其他的解决scheme。 谢谢

在资源接pipe之前使心跳检查MySQL复制滞后

我正在使用MySQL master-masterconfiguration的心跳,并使用mon来检查MySQL的健康状况。 所有的检测工具都可以很好地检测到主机或破损的MySQL。 但是接pipe之后,复制冲突开始堆积起来。 是否可以通过运行一个外部脚本添加一个挂钩到心跳,使其在接pipeIP地址之前等待? 我写了一个检查复制的代码,然后用代码0或1退出,具体取决于是否全部清除继续,并等待复制完全赶上以避免冲突。

如何远程stream式传输和loggingMySQL binlog

为了实现数据冗余的目标,我想在一个中央位置logging几百个mysql服务器的binlog。 为每个stream运行一个完整的复制器需要大量的资源(多个服务器),因为这些语句的执行需要大量的CPU。 我的假设是,只是loggingbinlog将花费大量的资源。 怎么做? 我发现http://search.cpan.org/~alfie/MySQL-Replication-0.0.2/bin/MySQLReplicationClient.pl,但似乎使用非本地复制(它需要一个额外的数据库),似乎是在阿尔法州。 也许另一个解决scheme是安装一个完整的mysql服务器作为复制的奴隶,但不知何故禁用复制语句的执行,只是login他们。 谢谢!

有没有日志来查看用户何时试图访问他没有权限的文件/目录?

我的数据库无法复制,错误日志中的唯一线索是“ Operation Not Permitted不允许”,我猜是donar或joiner上的文件访问权限失败。 是否有任何文件可以查看用户/进程正在尝试读取/写入/执行的文件?

MySQL从站不能处理中继logging足够快

我有一个主 – 主集群与2个Percona 5.5.30服务器。 (让我们把它们命名为1和2)操作系统是FreeBSD 9.1 我有一个问题,服务器2没有足够快的处理中继日志。 我知道,当然,因为当我在服务器1上创build一个新的表,并且我不知不觉地检查服务器2上的中继日志时,我在那里看到了CREATE命令,但是表没有被创build另外5-15分钟所以。 看起来应该执行中继日志的线程每隔一段时间就会暂停一次,在执行SHOW PROCESSLIST;时显示NULL状态SHOW PROCESSLIST; 这可能是什么原因? UPDATE stream程表: http ://pastebin.com/5Pq7f0GF (我不知道如何在这里粘贴SQL …)

XtraBackup还原给奴隶重复?

我们最近升级了一个MySQL 5.0 master-master安装到Percona 5.6。 因为我们的一些故障,从属于b0rken,但我们认为我们可以通过使用xtrabackup从正在运行的服务器创build备份并将其导入从服务器来简单地修复它。 我整个周末都试图这样做(部分原因是因为这是一个庞大的数据库和表),但无济于事。 有人能说出我在这里做错了什么吗? 首先,我在生产大师当前运行以下内容: ulimit -n 409600 innobackupex –defaults-file=/etc/mysql/debian.cnf /mnt 完成后,我将生成的目录复制到其他服务器并运行: innobackupex –use-memory=4G –apply-log /srv/restore 它最终会以OK消息退出。 现在我使用以下命令将其恢复到数据库: innobackupex –move-back /srv/restore 一切顺利,我可以再次启动MySQL(在我浏览/ srv / mysql目录之后,这是我们的数据库)。 数据在那里,数据库运行正常。 现在我开始从事这个数据库: /usr/bin/mysql –defaults-file=/etc/mysql/debian.cnf -e "CHANGE MASTER TO MASTER_HOST='10.xxx', MASTER_USER='replication', MASTER_PASSWORD='verysecret', MASTER_AUTO_POSITION=1; START SLAVE" 从动开始,但由于1062错误立即停止。 经过调查,我发现它试图申请的条目在我开始备份后立即添加到主数据库中。 我可以解决这个问题,但是我马上得到一个新的错误。 对我来说,似乎备份并不包含所有最新的GTID,只有在备份开始时可用的那些GTID。 我以为这正是XtraBackup应该解决的问题? 现在我看不出有其他办法来确保在备份过程中没有对数据库进行写操作。 我在这里做错了什么? 这是否应该发生? 在Debian Wheezy上运行所有最新的补丁。 Server version: 5.6.25-73.1-log […]

Mysql主从复制失败PID错误

我有5.5和5.5上的主从,这将是testingENV,以检查5.6是否可以在5.5上对PROD进行复制。 我在启动mysql时遇到下面的错误 ERROR! MySQL server PID file could not be found! Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/test.lester.com.pid). 作为参考,这里是/etc/my.cnf的内容: # The following options will be passed to all MySQL clients [client] port = 3306 socket=/var/lib/mysql/mysql.sock # The MySQL server [mysqld] port = 3306 socket=/var/lib/mysql/mysql.sock skip-external-locking key_buffer_size = 256M max_allowed_packet = 1M […]

子网中的Azure负载平衡虚拟机

如果我有2个子网,10.0.0.0用于我的进程,11.0.0.0用于数据库,我如何在子网内部负载均衡数据库,以便10.0.0.0networking中的任何进程都可以通过单个进程访问任何数据库实例内部IP像11.0.0.4? 所以11.0.0.4会负载平衡,假设3个虚拟机在11.0.0.5,11.0.0.6和11.0.0.7。 给出的IP地址纯粹是为了说明这一点,我明白,实际完成时,它们可能会有所不同。 或者是为数据库服务器build立完全独立的虚拟networking并将两个虚拟networking连接在一起的更好的解决scheme。 如果是这样,你会推荐什么configuration? 我想避免出去到互联网,只能再次回来从进程访问数据库。 速度是至关重要的,所有的机器都在同一个地区。 如果有任何帮助,所有机器都运行Ubuntu 15.10。

如何获得一个disconected mysql奴隶的日志位置?

我们有一个系统,我们的商人有他们出差的笔记本。 他们都是mysql的奴隶,他们每隔一天就把它们连接起来,但是有时候一个人可能会连续几天没有同步。 我们过去只是删除了X天以前的bin日志,但是当销售人员正在进行长途旅行时,我们遇到了问题,并尝试在阈值之后同步。 我们需要的是使用脚本进行自动化,一旦在主服务器上应用了它们,就可以删除主服务器上的bin日志。 脚本运行时,可能会断开从站的连接。 我怎么能知道哪个是我的拓扑中最未被同步的从属的Exec_Master_Log_Pos? 或者它的Master_Log_File。 如果我知道值,我可以清除二进制日志没有任何问题。

Mysql的主从复制很慢

我们正在运行一个MySQL主从复制设置,从站的速度非常缓慢。 当从服务器正在经历主服务器的日志时,似乎没有高networking或CPU使用率。 主从站之间的连接稳定,速度快(15 MB / s avg。),每个内核(四核CPU)的从机CPU使用率不超过2%。 我们已经做了一些testing,让奴隶赶上,直到它在主人的相同位置,然后执行大量的查询。 虽然主人的CPU使用率上升,但奴隶在获得主人的询问方面实际上做得很差。 Relay_Log_Pos以非常缓慢的速度增加,Exec_Master_Log_Pos非常接近Relay_Log_pos。 对我来说,似乎是networking相关的Relay_Log_Pos不增加非常快,导致奴隶没有太多的查询执行,或者我在这里丢失的东西?