MySQL数据库重搭主从同步操作步骤

--从节点停止同步

[root@localhost ~]# mysql -uroot -p密码
mysql> stop slave;
mysql> reset slave all;
mysql> show slave status \G
mysql> 

确定主从复制关系清理完成。

--主节点发起新的备份:

[root@localhost ~]# mysql -uroot -p密码
mysql> show processlist;
mysql> select * from information_schema.innodb_trx \G

[root@localhost ~]# mysqldump -A -E -R --triggers --default-character-set=utf8 -uroot -p'密码' --max_allowed_packet=2048M --single-transaction --master-data=2 --hex-blob  > /data/mysqlbackup/日期.sql

参数说明:

            --all-databases等价于-A
            --events等价于-E,在输出中包含所转储数据库的事件调度器
            --routines等价于-R,在输出中包含所转储数据库的存储过程(procedures和functions)
            --triggers,包含每一个转储表的触发器
            
    备份历时:根据数据量约1个小时左右
    
--验证备份完成
[root@localhost ~]# cd /data/mysqlbackup/
[root@localhost mysqlbackup]# tail -n 10 /data/mysqlbackup/日期.sql

--传输到从节点路径下        
[root@localhost mysqlbackup]# scp -P <SSH端口号> 日期.sql <从节点IP>:/data/mysqlbak
    传输历时:根据备份大小约10几分钟

  
--从节点执行备份恢复:

mysql -uroot -p密码

--设置为允许特权账号读写:
mysql> show variables like 'super_read_only';
mysql> set global super_read_only=0;
mysql> show variables like 'super_read_only';

--执行备份恢复:
[root@localhost ~]# mysql -uroot -p < /data/mysqlbak/日期.sql
                    密码

备份恢复历时:根据数据量约几个小时

--观察恢复状态:

mysql> show processlist;
mysql> select * from information_schema.innodb_trx \G

--从节点重新设置为只读:

mysql> set global super_read_only=1;
mysql> show variables like 'super_read_only';

[root@localhost ~]# more /data/mysqlbak/日期.sql中的前面几行获取以下内容:

-- CHANGE MASTER TO MASTER_LOG_FILE='<mysqlbin文件名>', MASTER_LOG_POS=<位置编码>;

记录:
            MASTER_LOG_FILE:
            MASTER_LOG_POS:
            
--从节点中设置主节点信息:

mysql> CHANGE MASTER TO
     MASTER_HOST= '<主节点IP地址>',                --修改
     MASTER_PORT= <主节点端口>,                --修改
     MASTER_LOG_FILE= '<MASTER_LOG_FILE>',            --修改
     MASTER_USER= '<主从同步账号>',            --修改
     MASTER_PASSWORD= '<密码>',            --修改  
     MASTER_LOG_POS= <MASTER_LOG_POS>;            --修改

--启动从节点同步:

mysql> start slave;
mysql> show slave status \G

--主节点查看状态:

(root@localhost)[(none)]-->show master status;

        需要保障:
                SLAVE_SQL_running和slave_io_running状态为yes
                主节点File = 从节点Master_Log_File = 从节点Relay_Master_Log_File
                主节点Position = 从节点Read_Master_Log_Pos = 从节点Exec_Master_Log_Pos
                从节点Seconds_Behind_Master理想状态值为0

 --主从节点分别执行表对比:

mysql> select count(*) from 数据库.表名称;
mysql> select * from 数据库.表名称 \G

验证完成,同步恢复完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维-李丛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值