小编Jon*_*ler的帖子

MySQL 从属复制重置,没有主宕机时间(使用 MyISAM)

问题的根源:在正在运行的主机上创建从机的所有说明中都需要flush tables with read lock. 我们使用MyISAM,所以我们不能只使用--single transaction 来获得一致的表数据。

奴隶因各种“正常”原因而失败——平均每周一次。所以我关闭了站点,使用读取锁定主数据库刷新表,mysqldump(单个事务,带有主记录),推送到从属,重置主(带有日志位置),并启动从属等。

为了在不停机的情况下做到这一点,我尝试了基本相同的步骤,然后使用START SLAVE UNTIL- 然后在运行 SELECT MASTER_POS_WAIT(); 时暂停实时数据库几秒钟;在奴隶上。我似乎无法让奴隶追上来。

为了让从数据库再次赶上主数据库,以下步骤中遗漏了什么(或不必要的)?一个简单的start slave工作?

#!/bin/bash
## 
mysqldump  --allow-keywords --add-drop-table --comments --extended-insert --master-data   \
     --debug-info --single-transaction -u $LOCALDB_USER_NAME  -p$LOCALDB_PASS $LOCALDB_NAME > $DBFILENAME



## get master position from file for use later
echo 
echo "############# MASTER STATUS #############"
cat $DBFILENAME | grep "CHANGE MASTER"
echo
echo "compressing"
gzip $DBFILENAME


echo "sending to $REMOTE_SERVER"
[...]

echo "uncompresing remote db"
sudo ssh   $REMOTE_SERVER_USERNAME@$REMOTE_SERVER "cd …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-replication master-slave

6
推荐指数
1
解决办法
7595
查看次数

标签 统计

master-slave ×1

mysql ×1

mysql-replication ×1