AJA*_*JAY 4 mysql replication mysqldump restore master-master-replication
我有一个 300 GB 的 mysql 数据库,我想将其迁移到另一台服务器,以便在两者之间设置 Master-Master 复制,我的主要目标是在尽可能减少停机时间的情况下实现这一目标。
我的数据库只有一个大约 30GB 的表,其中全天候进行插入操作。所有其他表都是历史表(静态)。
1)在这种情况下,最好的前进方式是什么?
获取整个数据库的 mysqldump 并将转储传输到其他服务器并将其导入新服务器将完成我想要实现的工作,但会花费大量停机时间(可能超过 14 小时),这是不允许的。
或者我可以在不停止 mysql 的情况下为静态表进行单独的表转储并将其导入新服务器,在这一切结束之后,为单个活动表停机,以便不会发生新的插入并且我的两个数据库都将同步? 首先有没有可能做这样的事情?如果可能的话,在设置主-主复制时可能会出现什么问题?
这个解决方案可以用 mysqldump 来完成,但有一点风险
为了这个例子,假设你有以下内容:
mydb
10.20.30.40
10.20.30.50
root
在源和目标数据库服务器上whatever
在源和目标数据库服务器上mysql-bin
这是你的步骤
在 Live Master 上,运行以下命令
CREATE USER repluser@'%' IDENTIFIED BY 'replpass';
GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO repluser@'%';
Run Code Online (Sandbox Code Playgroud)
在目标数据库服务器上,运行以下命令:
如果您在源服务器和目标服务器上启用了 GTID,请执行以下操作:
CHANGE MASTER TO
master_host='10.20.30.40',
master_port=3306,
master_user='repluser',
master_password='replpass',
master_auto_position=1;
Run Code Online (Sandbox Code Playgroud)
如果您没有在源服务器和目标服务器上启用 GTID,请执行以下操作:
CHANGE MASTER TO
master_host='10.20.30.40',
master_port=3306,
master_user='repluser',
master_password='replpass',
master_log_file='mysql-bin.000001',
master_log_pos=4;
Run Code Online (Sandbox Code Playgroud)
创建一个名为的 shell 脚本 live_dump_and_load.sh
将以下几行放入其中
MYSQL_USER=root
MYSQL_PASS=whatever
MYSQL_CONN="-u${MYSQL_USER} -p${MYSQL_PASS}"
DB_TO_DUMP=mydb
MYSQLDUMP_OPTIONS="--routines --triggers"
MYSQLDUMP_OPTIONS="${MYSQLDUMP_OPTIONS} --master-data=1"
MYSQLDUMP_OPTIONS="${MYSQLDUMP_OPTIONS} --single_transaction"
MYSQLDUMP_OPTIONS="${MYSQLDUMP_OPTIONS} -B ${DB_TO_DUMP}"
date > live_dump_and_load.runlog
mysqldump ${MYSQL_CONN} ${MYSQLDUMP_OPTIONS} | mysql -h10.20.30.50 ${MYSQL_CONN}
date >> live_dump_and_load.runlog
Run Code Online (Sandbox Code Playgroud)
chmod +x live_dump_and_load.sh
nohup ./live_dump_and_load.sh &
Run Code Online (Sandbox Code Playgroud)
watch cat live_dump_and_load.runlog
Run Code Online (Sandbox Code Playgroud)
当转储加载到目标服务器上时,转到目标服务器并运行
START SLAVE;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4627 次 |
最近记录: |