MySql Replication配置

一、前言

Mysql Replication作为读写分离的廉价解决方案,支持一主多备的方式进行数据存储,采用二进制日志传送,目前存在着广泛应用,网上相关概念也比较多,不再重复介绍。引用一张官方提供的Replication应用场景图片(http://dev.mysql.com/doc/refman/5.1/en/replication-solutions.html)。本文主要记录了基于Linux环境下的Mysql Replication配置步骤。

二、环境准备

  IP_PORT OS Mysql
Master 10.129.221.14:3306 CentOS 6.5 5.1.73
Slave 10.129.221.16:3306 CentOS 6.5 5.1.73
Slave ...    

三、在Master和Slave上分别开启root用户远程访问,并设置root用户密码,默认为空

mysql> use mysql;
mysql> update user set host = ‘%‘ where host =‘127.0.0.1‘ and user = ‘root‘;
mysql> update user set password = PASSWORD(‘glf_123‘) where user = ‘root‘;
mysql> flush privileges;

四、在Master数据库上创建一个repl用户并进行授权,用于slave机器访问master数据库

mysql> create user ‘repl‘@‘%‘ identified by ‘glf_123‘;
mysql> grant replication slave on *.* to ‘repl‘@‘%‘ identified by ‘glf_123‘;
mysql> flush privileges;

修改后的user表数据如下:

五、在Master服务器上创建一个TestDB数据库,用于Replication

六、修改Master数据库的数据库配置(/etc/my.cnf),开启数据库二进制日志记录

[mysqld]
server-id=1                # 唯一ID
log-bin=mysql-bin          # 指定日志文件
binlog-do-db=TestDB        # 需要同步的数据库
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

七、重启Master数据库

[[email protected] /]# service mysqld restar

八、检查Master库的Master状态

mysql> SHOW MASTER STATUS;

显示结果如下:

九、修改Slave数据库配置(/etc/my.cnf)

[mysqld]
server-id=2     # 唯一ID
read_only=1     # 设置Slave库只读
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql 

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

十、重启Slave数据库

[[email protected] /]# service mysqld restart

十一、设置slave节点replication指向master,在Slave库执行change master command

change master to
master_host=‘10.129.221.14‘,
master_user=‘repl‘,
master_password=‘glf_123‘,
master_port=3306,
master_log_file=‘mysql-bin.000001‘,
master_log_pos=0,
master_connect_retry=10;

master_log_file表示Master数据库中的log文件名,通过SHOW MASTER STATUS查询;

master_log_pos 表示需要同步的二进制偏移量 ,0表示全部重新同步;

第八步中SHOW MASTER STATUS查询显示的是当前Position;

十二、在Salve服务器启用slave模式

mysql> start slave;

十三、查看replication的执行情况、以及相关处理Process

mysql> SHOW SLAVE STATUS \G;
mysql> show processlist \G;

十四、至此MySQL Replication 相关的配置完成,在Master库的任何修改都会通过事务日志提交到Slave。

时间: 2024-10-05 09:29:15

MySql Replication配置的相关文章

mysql replication(主从复制)实验学习笔记

1.理论部分 1.1.mysql replication的概念: enables data from one mysql database server(the master) to be replicated to one or more mysql database servers(the slaves). 1.2.mysql replication的实现基础: Binary Log(二进制日志)是实现mysql主从复制的基础 Binary Log的概念:所有的.无论是明确的或隐含的可以引起

MySQL Replication的主从同步的常用2种配置方式

因为实际的业务需求最近就需要部署一些mysql服务器,而在部署mysql服务器中在做主从同步时用的都是MySQL Replication的主从同步的方法,当然实现mysql主从同步的方法还有很多,这里就只说使用MySQL Replication的主从同步的功能,在实现mysql的主从同步的常用的2种配置方式,当然可以根据实际的生产环境选择不同的方式,在这里就简单的把2种配置方法配置my.cnf说一下,因为以前有写过mysql的主从同步方法,这里就不再赘述了,需要可以参看:http://jim12

MySQL Replication, 主从和双主配置

MySQL Replication, 主从和双主配置 MySQL的Replication是一种多个MySQL的数据库做主从同步的方案,特点是异步,广泛用在各种对MySQL有更高性能,更高可靠性要求的场合.与之对应的另一个技术是同步的MySQL Cluster,但因为比较复杂,使用者较少.   下图是MySQL官方给出了使用Replication的场景: Replication原理   Mysql 的 Replication 是一个异步的复制过程,从一个MySQL节点(称之为Master)复制到另

Mysql主从配置,实现读写分离

大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想.这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服务器群,来分担主数据库的压力.Ok切入今天微博主题,利用MySQL主从配置,实现读写分离,减轻数据库压力.这种

【转】MySQL安全配置介绍

二.Mysql权限介绍 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表. mysql权限表的验证过程为: 1.先从user表中的Host,User,Password这3个字段中判断连接的ip.用户名.密码是否存在,存在则通过验证. 2.通过身份认证后,进行权限分配,按照user,db,tables_priv,columns_priv的顺序进行验证.即先检查全局权限表user,如果user中对应的权限为Y,则此用户对所有数据库的权限

笔记13(FTP配置、tomcat配置、resin配置、MySQL主从配置)

FTP服务搭建与配置 FTP介绍 FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输. FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机. 小公司用的多,大企业不用FTP,因为不安全. 使用vsftpd搭建ftp服务 centos上自带vsftpd 安装:yum instal

部署和调优 2.7 mysql主从配置-1

MySQL 主从(MySQL Replication),主要用于 MySQL 的时时备份或者读写分离.在配置之前先做一下准备工作,配置两台 mysql 服务器,如果你的机器不能同时跑两台 Linux虚拟机,那可以考虑在同一个机器上跑两个 mysql 服务. MySQL 主从原理非常简单,总结一下: 每个从仅可以设置一个主. 主在执行 sql 之后,记录二进制 log 文件(bin-log). 从连接主,并从主获取 binlog,存于本地 relay-log,并从上次记住的位置起执行 sql,一旦

Mysql安全配置

相关学习资料 http://drops.wooyun.org/tips/2245 http://www.cnblogs.com/siqi/archive/2012/11/21/2780966.html http://hi.baidu.com/liveinyc/item/08d5e71cfb2872416926bb84 http://blog.chinaunix.net/uid-16728139-id-3683449.html http://linux.chinaunix.net/techdoc/

一.Mysql主从复制配置

在我之前的文章四·安装mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz(基于Centos7源码安装 和 九.mysql数据库多实例安装mysqld_multi [start,stop,report] 两篇文章写到了单太服务器多实例的安装,本篇文章是关于主从复制的配置.本次把mysql3306作为主Master,mysql3307和mysql3308作为Slave 一.启动3台mysql服务器 [[email protected] ~]$ mysqld_multi