mysql主从复制技术详解

M-S
主服务器:master1
第一步:打开bin-log日志,设置如下:
vim /etc/my.cnf
log_bin
server-id=1
gtid_mode=ON
enforce_gtid_consistency=1
第二步:进入数据库授权用户
mysql -uroot -p‘密码‘
grant replication slave,replication client no . to ‘rep‘@‘域名‘ identified by ‘密码‘;
flush privileges;
查看slave状态是否正常:
show slave status\;
第三步:复制
cd
mysqldump -uroot -p‘密码‘ \
-A \
--single-transaction \
--master-data=2 \
--flush-logs \

./date +%F-all.sql
scp ./-all.sql 域名:/root
从服务器:master2
第一步:回复之前的数据
mysql -uroot -p‘密码‘
set sql_log_bin=0;
source /root/
all.sql;
第二步:设置主服务器
change master to
master_host=‘master1‘,
master_user=‘rep‘,
master_password=‘密码‘,
master_auto_position=1;
注意;如果设置错误后可以这样处理————>> stop slave; reset slave ; OK以后就可以从新在配置一遍,完好start slave ;即可。
第三步:启动slave;
start slave;
查看状态
show slave status\G;

注意这是接着上一个实验的升级:
如果是做成M-M 的话,只需要把上面主服务器上设置一下从服务器的配置即可
mysql -uroot -p‘密码‘
change master to
master_host=‘master2‘,
master_user=‘rep‘,
master_password=‘密码‘,
master_auto_position=1;
启动slave;
start slave;
查看状态
show slave status\G;

继续上面的实验环境接着往下完成:
首先去其中任意一个主服务器上备份一个元数据,完好通过scp 分别拷贝到另外两台从服务器上,接下来对从服务器做如下操作:
第一步:关闭selinux 关闭firewalld
第二步:设置/etc/my.cnf中添加
server-id=3
gtid_mode=ON
enforce_gtid_consistency=1
master_info_repository=TABLE
relay_log_info_repository=TABLE
第三步:重启mysqld
S-S
登录mysql
进去第一件事就是 把主服务器上发过来的数据恢复:
set sql_log_bin=0;
source 后面更上要恢复的文件路径及名称;
OK以后,接下来配置它的slave:
change master to
master_host=‘master1‘(这里写主服务器的域名)
master_user=‘rep‘(这里写主服务器上授权的用户名)
master_password=‘123‘(这里写主服务器上授权的密码)
master_auto_position=1 for channel ‘master1‘(这里的名字可以自定义);
OK以后,如果你有多个主服务器可以在做一次:
change master to
master_host=‘master2‘(这里写主服务器的域名)
master_user=‘rep‘(这里写主服务器上授权的用户名)
master_password=‘123‘(这里写主服务器上授权的密码)
master_auto_position=1 for channel ‘master1‘(这里的名字可以自定义);

这个技术的常见问题点有如下三点:
/etc/selinux/config 中没有关掉selinux
/etc/my.cnf 中没有打开二进制文件
firewalld没有关掉。
如果另外一台机器是克隆来的话,就是uuid相同的问题,只需要到
/var/lib/mysql/auto.cnf 中把它的uuid 改成与其它机器不同即可.

原文地址:http://blog.51cto.com/13575678/2090491

时间: 2024-08-29 12:21:01

mysql主从复制技术详解的相关文章

MySQL主从架构详解

1.复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收

MySQL主从说明详解、MySQL主从不同步处理方案

MySQL主从说明 同步问题 mysqldump:此工具适用于10G以下数据库或几个表percona-Xtrabackup备份工具:适用于100G-500GLVM快照:更大的数据量,或分库分表 主从复制目的 读写分离,减轻主库负载或数据分析: 数据安全,做备份恢复: 主从切换,做高可用: 常见主从结构: 一主一从:一个Master,一个Slave一主多从:一个Master,多个slave Master节点:负责所有的[写]请求Slave节点:负责大部分的[读]请求 主从复制步骤 A数据更新 A写

MySQL主从同步详解

一:mysql主从原理 1.1 基本介绍 MySQL 内建的复制功能是构建大型,高性能应用程序的基础.将 MySQL 的 数亿分布到到多个系统上去,这种分步的机制,是通过将 MySQL 的某一台主机的数据复制到其它主机( Slave )上,并重新执行一遍来实现的.复制过程中一个服务器充当服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取

mysql5.6主从参数详解

mysql5.6的主从相当的不错,增加了不少参数,提升了主从同步的安全和效率,以下是mysql5.6主从参数详解. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ######################################### server_id = 2 #binlog log-bin = /data1/mysql/binlog/binlog binlog_format

MySQL配置文件参数详解

[client] port = 3307 socket = /usr/local/mysql5_6/mysql.sock default-character-set=utf8 [mysql] prompt = mysql(\\[email protected]\h-\R:\\m:\\s [\\d])> #提示当前数据库操作用户名.库名.时间等 default-character-set=utf8 [mysqld] basedir = /usr/local/mysql5_6 datadir = /

MySQL数据库备份详解

原文:MySQL数据库备份详解 对于任何数据库来说,备份都是非常重要的 数据库复制不能取代备份的作用 比如我们由于误操作,在主数据库上删除了一些数据,由于主从复制的时间很短,在发现时,从数据库上的数据可能也已经被删除了, 我们不能使用从数据库上的数据来恢复主数据库上的数据,只能通过备份进行误删除数据的恢复 一. 备份的分类 1.按备份的结果来分: 逻辑备份 其备份结果为SQL语句,适合于所有存储引擎,恢复时需要较多时间,逻辑备份时,对于MyISAM存储引擎是需要进行锁表操作的,通过使用的mysq

MySQL配置文件mysql.ini参数详解、MySQL性能优化

MySQL配置文件mysql.ini参数详解.MySQL性能优化 my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section.   Client Section用来配置MySQL客户端参数.   要查看配置参数可以用下面的命令: show variables like '%innodb%'; # 查看innodb相关配置参数 show status like

MySQL中EXPLAIN详解

MySQL中EXPLAIN详解 explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explain就可以了: 如:explain select username,first_name form hx,itlearner where a.id=b.id EXPLAIN列的解释: id:本次 select 的标识符.在查询中每个 select都有一个顺序的数值. select_type :查询类

MySQL关闭过程详解和安全关闭MySQL的方法

这篇文章主要介绍了MySQL关闭过程详解和安全关闭MySQL的方法,在了解了关闭过程后,出现故障能迅速定位,本文还给出了安全关闭MySQL的建议及方法,需要的朋友可以参考下 www.qdmm.com/BookReader/114529,58420799.aspx www.qdmm.com/BookReader/114529,58484600.aspx www.qdmm.com/BookReader/114529,58486256.aspx www.qdmm.com/BookReader/1145