mysql主从复制和主主复制

一、准备(主从都需要配置):

yum -y install mysql mysql-server #安装mysql

yum -y install ntpdate #安装时间同步

echo ‘*/1 * * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null‘ >>/var/spool/cron/root #配置网络时间同步

service mysqld start #启动服务

chkconfig --add mysqld #添加为系统服务

chkconfig  mysqld on #开启默认运行级别

二、主服务器配置:主配置文件默认为:/etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

symbolic-links=0

log-bin=master-bin #开启二进制日志文件

server-id=1 #设置服务器id,保证全局唯一

service mysqld restart #重启动服务

mysqladmin -u root password 123.com #设置数据库管理员密码

mysql -u root -p #登录数据库

show global variables like ‘%server%‘; #数据库id

show master logs; #查看数据库二进制日志

show master status; #查看主服务器状态,记住二进制日志名,配置从服务器会用

grant replication slave,replication client on *.* to  ‘copy‘@‘192.168.0.50‘ identified by ‘123.com‘;

#授权192.168.0.50主机上的copy用户对所有库有复制权限

select Host,User,Password from mysql.user; #查看用户

三、从服务器配置:

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

symbolic-links=0

relay-log=slave-log #启用中继日志

server-id=10 #服务器id,全局唯一

read-only=1 #将服务器设置为只读模式(对拥有root权限的用户无效)

service mysqld restart #重启动服务

mysqladmin -u root password 123.com #设置数据库管理员密码

mysql -u root -p #登录数据库

change master to master_host=‘192.168.0.10‘,master_user=‘copy‘,master_password=‘123.com‘,master_log_file=‘master-bin.000001‘,master_log_pos=590;

master_host:主服务器地址

master_user:拥有复制权限的用户

master_password:密码

master_log_file:从哪个二进制日志开始复制

master_log_pos:从二进制日志的什么位置开始复制

start slave; #开启从服务器

show slave status\G; #查看从服务器状态

四、验证主从:

主服务器:

mysql -u root -p

create database db_test; #创建数据库

从服务器:

mysql -u root -p

show databases; #查看服务器是否同步

create database mage; #SQL执行失败为从服务器配置只读成功

五、主主复制

服务器A:

[mysqld] #添加内容

log-bin=master-bin #启用二进制日志

relay-log=slave-log #启用中继日志

server-id=1 #服务器id,全局唯一

auto-increment-offset=1 #自增列起始

auto-increment-increment=2 #自增列一次步进(例:1,3,5,7,9...)

mysql -uroot -p #进入数据库

grant replication slave,replication client on *.* to  ‘copy‘@‘192.168.0.50‘ identified by ‘123.com‘;

change master to master_host=‘192.168.0.50‘,master_user=‘copy‘,master_password=‘123.com‘,master_log_file=‘master-bin.000001‘,master_log_pos=106;

start slave;

show slave status\G;

服务器B:

[mysqld] #添加内容

log-bin=master-bin

relay-log=slave-log

server-id=10

auto-increment-offset=2 #自增列起始

auto-increment-increment=2 #自增列一次步进(例:2,4,6,8,10...)

mysql -uroot -p #进入数据库

grant replication slave,replication client on *.* to  ‘copy‘@‘192.168.0.10‘ identified by ‘123.com‘;

change master to master_host=‘192.168.0.10‘,master_user=‘copy‘,master_password=‘123.com‘,master_log_file=‘master-bin.000003‘,master_log_pos=106;

start slave;

show slave status\G;

时间: 2024-11-06 05:24:44

mysql主从复制和主主复制的相关文章

mysql主从复制、半同步复制、主主复制、及从库升级为主库讲解

一.主从复制结构 binlog dump --- io thread  ---  relay log ---- sql thread 1.总体讲解 主从复制时是异步的 半同步是在主从架构下安装插件来达到半同步的 半同步的优点:保证至少一个节点的数据和主节点的数据一致,缺点影响性能 导致主从不同步的原因是 现在的服务器都是单核多线程或者多核多线程,导致主节点可以同时执行多条读写操作,而记录二进制日志则必须按顺序有先后的记录,从节点在一条一条复制过去,生成中继日志,再执行语句. 多个库复制的话,可以

实现MySQL主从复制、双主模型的简单案例

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. MySQL复制的基本原理 MySQL复制解决的基本问题 让一台MySQL服务器的数据与其他MySQL服务器的数据保持同步. MySQL复制的工作原理 MySQL复制的工作原理图如下所示(图来自高性能MySQL第3版) MySQL主从复制的基本步骤: 1.启动主库上的二进制文件,并把数据更改记录到二进制日志中: 2.备库将主库上的二进制日志复制到自身的中继日志中: 3.备库读取自身的中继日志中的事

Mysql 主从复制之半同步复制(基于gtid)

Mysql主从复制mysql主从复制原理:从库有两个线程IO线程和SQL线程1.从库的IO线程向主库的主进程发送请求,主库验证从库,交给主库IO线程负责数据传输;2.主库IO线程对比从库发送过来的master.info里的信息,将binlog文件信息,偏移量和binlog文件名等发送给从库3.从库接收到信息后,将binlog信息保存到relay-bin中,同时更新master.info的偏移量和binlog文件名4.从库的SQL线程不断的读取relay-bin的信息,同时将读到的偏移量和文件名写

mysql主从复制及双主复制

之前做过一次在单台机器上的多实例的mysql,这次分开做,使用两台主机. 这里使用的主机地址分别为: MASTER:192.168.214.135 SLAVE  : 192.168.214.128 这两个主机已经安装过mysql,但是两个数据库数据不一样 主从复制大致步奏 配置MySQL复制基本步骤: 一.master 1.启用二进制日志log-bin = master-binlog-bin-index = master-bin.index 2.选择一个惟一server-idserver-id

MySQL主从复制、半同步复制和主主复制

同步,异步,半同步复制的比较: 同步复制:Master提交事务,直到事务在所有的Slave都已提交,此时才会返回客户端,事务执行完毕.缺点:完成一个事务可能会有很大的延迟. 异步复制:当Slave准备好才会向Master请求binlog.缺点:不能保证一些事件都能够被所有的Slave所接收. 半同步复制:半同步复制工作的机制处于同步和异步之间,Master的事务提交阻塞,只要一个Slave已收到该事务的事件且已记录.它不会等待所有的Slave都告知已收到,且它只是接收,并不用等其完全执行且提交.

MySQL 主从复制资料汇总

1,复制原理 官方参考文档:http://dev.mysql.com/doc/refman/5.6/en/replication.html 博客地址1:http://blog.csdn.net/mchdba/article/details/11354771 博客地址2:http://blog.csdn.net/mchdba/article/details/8717513  如下图1.png所示: 该过程的第一部分就是master记录二进制日志.在每个事务更新数据完成之前,master在二日志记录

MySQL Study之--MySQL主从复制类型

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

mysql 主从复制集群搭建

话说一个正确的文章能敌千钧万马,一句善意的点拨能敌百万雄狮,一个好友的帮助能让你拨开云雾见青天.搭建mysql主从同步,这两天看网上的博客教程很多,当然,错误的文章会误导你很多,我就被误导了.现将这两天的搭建过程详细记录: 前期准备:关闭防火墙 关闭SELINUX 关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq  #保存退出 s

第五章:MySQL主从复制

目录 1. 主从MySQL主从复制介绍... 1 2. MySQL主从复制的企业应用场景... 3 3. 实现MySQL主从读写分离的方案... 5 4. MySQL主从复制原理... 7 5. 主从复制实战... 8 5.1 MySQL主从配置... 8 5.2 MySQL数据库级联配置... 12 5.3 MySQL主从复制配置步骤小结... 15 5.4 主从配置表示成功后的关键参数说明... 15 5.5 MySQL主从复制配置问题汇总... 16 6. MySQL主从复制更多应用技巧.

MySQL 主从复制与读写分离

Mysql主从复制作用原理 1.在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作.2.做数据的热备3.架构的扩展.业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能.mysql主从复制是一个异步的复制过程,主库发送更新事件到从库,从库读取更新记录,并执行更新记