玩转mysql主从和主主

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介:

++++++++++++++++++++++++ 在master上处理 ++++++++++++++++
#1 配置文件中添加并保证唯一
 server-id=1
 log-bin=/var/lib/mysql/mysql-bin

#2 重启
 /etc/init.d/mysqld restart

#3 建立用于同步的账号rep
 grant replication slave on *.* to 'rep'@'192.168.11.%' identified by '123456';
 flush privileges;
 show grants for rep@'192.168.11.%’;
 注意: replication slave 为mysql 同步的必须权限,此处不要授权all容易被黑客攻击。

#4 进行导库操作(对数据库锁表只读) 当前窗口不要关闭
   注意:生产环境时,操作主从复制,需要申请停机时间。数据量很大锁表会影响业务。

   flush table with read lock;
   提示: 这个锁表命令的时间,在不同的引擎的情况,会受下面参数控制,锁表时,如果超过设置时间不操作会自动解锁。
   受二参数限制:interactive_timeout = 60  wait_timeout = 60
   默认情况下时长: show variables like '%timeout%';

#5 查询bin-log日志在哪里 查询主库状态
   show master status;
   查询主库状态,即当前binlog日志文件名和二进制binlog日志偏移量。
   表示我现在主库往bin-log里写数据写到了 000001这个文件的342位置点
   
#6 备份所有库 即导出数据库所有数据
   mysqldump -u root -p123456 --events --compact --default-character-set=utf8  -A -B -F |gzip >  mysql_all_$(date +%F).sql.gz

#7 解锁
   unlock table
++++++++++++++++++++++++ 在slave上处理 ++++++++++++++++
#1 配置文件中设置server-id 并关闭bin-log参数配置
   server-id=2
   #log-bin=/var/lib/mysql/mysql-bin
#2 重启
   /etc/init.d/mysqld restart

#3 将主库的数据库拉取到本地导进数据库
 scp root@192.168.11.16:/home/yeqing/mysql_all_2017-01-18.sql.gz .
 gzip -d mysql_all_2017-01-18.sql.gz
 
注意: 有外键的表不好导,mysql等系统表不要导

#4 配置同步参数(根据show master status设置)
mysql> CHANGE MASTER TO
    -> MASTER_HOST='192.168.11.16',
    -> MASTER_PORT=3306,
    -> MASTER_USER='rep',
    -> MASTER_PASSWORD='123456',
    -> MASTER_LOG_FILE='mysql-bin.000001',
    -> MASTER_LOG_POS=342;
Query OK, 0 rows affected (0.11 sec)

#5 检查是否有master.info
   cat /var/lib/mysql/master.info

#6 执行同步开关啦
   slave start;

#7 检查是否已经同步
  show slave status\G;

  io和sql进程要yes:
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
  延迟要为0
    Seconds_Behind_Master:0

#8 如果遇到IO进程和sql进程有不是YES,进行如下处理:

方案1:
    1. 在master上
        清除bin-log: reset master; 
        重新查看位置点:show master status;
    2. 在slave上
        关闭同步:slave stop
        清除bin-log: rester
        对照master位置点重新进行配置同步参数
        重新开启同步: slave start;
        再次查看是否同步: show slave status\G;
方案二:
   差异小的情况下直接通过navicat的数据对比功能 找出来 给从库补上
   关闭同步:slave stop
   清除bin-log: rester
    重新开启同步: slave start;

方案三:
   差异大的情况下,直接重新做主从同步。

#9 测试同步
 在master上:
    create table test_2(id int);
    mysqlbinlog mysql-bin.*|egrep -v '#|*!'

  在slave上:
     show tables;

+++++++++++++++++++++++++++++++++++ 主主配置++++++++++

master-1:

relay_log_info_file=/var/lib/mysql/relay-log.info
relay-log-purge = 1
log-slave-updates
relay-log-recovery =1
auto_increment_offset = 1
auto_increment_increment = 2

master-2:

relay_log_info_file=/var/lib/mysql/relay-log.info
relay-log-purge=1
relay-log-recovery=1
log-slave-updates
auto_increment_offset = 2
auto_increment_increment = 2

分别重启mysql 并 slave stop /start

本文转自cloves 51CTO博客,原文链接:http://blog.51cto.com/yeqing/1892902



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
关系型数据库 MySQL 开发工具
MySQL5.7主从配置(Docker)
MySQL5.7主从配置(Docker)
1175 0
|
Ubuntu 关系型数据库 MySQL
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
354 2
|
SQL 关系型数据库 MySQL
解决MySQL主从慢同步问题的常见的解决方案:
解决MySQL主从慢同步问题的方法有很多,以下是一些常见的解决方案: 1. 检查网络连接:确保主从服务器之间的网络连接稳定,避免网络延迟或丢包导致数据同步缓慢。 2. 优化数据库配置:调整MySQL的配置参数,如增大binlog文件大小、调整innodb_flush_log_at_trx_commit等参数,以提高主从同步性能。 3. 检查IO线程和SQL线程状态:通过SHOW SLAVE STATUS命令检查IO线程和SQL线程的状态,确保它们正常运行并没有出现错误。 4. 检查主从日志位置:确认主从服务器的binlog文件和位置是否正确,避免由于错误的日志位置导致同步延迟。 5.
1838 1
|
Kubernetes Cloud Native 关系型数据库
提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
【4月更文挑战第9天】提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
1212 0
|
SQL 存储 关系型数据库
MySQL的主从复制&主从同步
MySQL的主从复制&主从同步
412 0
|
SQL 关系型数据库 MySQL
MySQL-主从架构的搭建
MySQL-主从架构的搭建
539 0
|
Prometheus 监控 关系型数据库
数据库同步革命:MySQL GTID模式下主从配置的全面解析
数据库同步革命:MySQL GTID模式下主从配置的全面解析
1757 0
|
存储 关系型数据库 MySQL
利用 MySQL 克隆插件搭建主从
MySQL 的 Clone 插件是一个强大的功能,首次引入于 MySQL 8.0.17 版本。简单来说,Clone Plugin 是一款物理克隆数据工具,它能够帮助我们快速、高效地克隆或复制数据库,极大地简化了数据库迁移、备份和恢复的过程,让我们在处理大量数据时更加得心应手。本篇文章我们一起来学习下如何使用克隆插件。
306 2
|
运维 关系型数据库 MySQL
【实操记录】MySQL主从配置
本文使用MySQL原生支持的主从同步机制,详细记录了配置步骤及运维操作方法,可供大家直接参考、使用。 本文假设已经部署了两台主机的MySQL软件,且数据库服务正常,详细部署步骤可本站搜索:"mysql二进制安装包部署"
1121 0
|
SQL 关系型数据库 MySQL
【MySQL】主从异步复制配置
【MySQL】主从异步复制配置
217 1

推荐镜像

更多