MySql主从同步配置及实现

mysql主从复制

随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求。此时数据库集群就很好的解决了这个问题了。采用MySQL分布式集群,能够搭建一个高并发、负载均衡的集群服务器。在此之前我们必须要保证每台MySQL服务器里的数据同步。数据同步我们可以通过MySQL内部配置就可以轻松完成,主要有主从复制和主主复制。

MySQL5.6开始主从复制有两种方式:基于日志(binlog);基于GTID(全局事务标示符)。此文章是基于日志方式的配置步骤。


环境说明

  • master数据库IP:192.168.1.1
  • slave数据库IP:192.168.1.2
  • mysql版本:5.5.38

主从复制

1.在主从数据库配置文件,一般Linux中的
MySQL配置文件都在/etc/my.cnf(windows中的配置文件为mysql.ini)。这里以同步test库为例子,
配置如下:
[mysqld]
#数据库ID号, 为1时表示为Master,其中master_id必须为1到232–1之间的一个正整数值,主从server-id不能一样;
server-id=1
#启用二进制日志;
log-bin=mysql-bin
sync-binlog=1
#需要同步的二进制数据库名;
binlog-do-db=test

保存文件,重启MYSQL。

2.构建主从复制,
第一步:在192.168.1.1(主)中创建一个192.168.1.2(从)可以登录的MySQL用户,这里以mysql119用户作为例子。
mysql>CREATE USER ‘mysql119‘@‘@‘ IDENTIFIED BY ‘123456‘;
mysql>GRANT REPLICATION SLAVE ON *.* TO ‘mysql119’@’192.168.1.%’ IDENTIFIED BY ‘123456’;
mysql>FLUSH PRIVILEGES;
第二步:
        查看192.168.1.1 主MySQL服务器二进制文件名与位置
        mysql>SHOW MASTER STATUS;

第三步:告知从库二进制文件名与位置
在192.168.1.2中执行:
mysql>CHANGE MASTER TO

         >MASTER_HOST=’192.168.95.11’,

         >MASTER_USER=’mysql119’,

         >MASTER_PASSWORD=’123456’,

         >MASTER_LOG_FILE=’mysql-bin.000007’,

         >MASTER_LOG_POS=525;

完成主从复制配置

4.测试主重复制
在192.168.1.2中
mysql>SLAVE START;   #开启复制
mysql>SHOW SLAVE STATUS\G   #查看主从复制是否配置成功

如图:

当看到Slave_IO_Running: YES、Slave_SQL_Running: YES才表明状态正常

实际测试:
查看主重库的test库的test_table,然后往主的test库插入一条数据再观察从test库的数据,如图:

注意:
1.主重mysql版本最好保持一致,避免因版本差异出现不可预知的问题。
2.出现从数据库连接不上主数据库,查看是否授权问题。
3.在配置主从复制的时候,备份master数据前先锁表,保证数据一致性。

如有问题,欢迎指正!

原文地址:http://blog.51cto.com/onebig/2066236

时间: 2024-11-09 04:53:24

MySql主从同步配置及实现的相关文章

企业生产MySQL主从同步配置

MySQL主从同步配置 前言:测试环境 一台mysql多个实例 主机IP地址 10.0.0.52 Master   3306 Salve    3307 一.主库要开启binlog服务 1. 1修改配置文件3306/my.cnf [[email protected] ~]# egrep "log-bin|server-id" /data/3306/my.cnf   log-bin = /data/3306/mysql-bin server-id = 1 1. 2查看主库有没有开启bin

centos下MySQL主从同步配置

centos下MySQL主从同步配置一.环境 主机: master操作系统:centos 5.3 IP:192.168.1.222 MySQL版本:5.0.77 从机: slave操作系统:centos 5.3 IP:192.168.1.220 MySQL版本:5.0.77 二.创建数据库 分别登录master机和slave机的mysql:mysql –u root –p 创建数据库:create database repl; 三.master机和slave机的相关配置 1.修改master机器

CentOS之MYSQL主从同步配置

一.主机master与salver均关闭防火墙iptables,执行service iptables stop命令: 设置SELINUX文件的SELINUX=disabled,如图所示: 二.创建数据库 分别登录master机和slave机的mysql:mysql –u root –p 创建数据库:create database repl; 在/usr/local/mysql目录下建立MYSQL复制的日志配置文件/usr/local/mysql/mysql-bin.log并赋予权限以及改变文件的

MySQL主从同步配置实现数据库备份

作为数据库的主要备份手段,主从同步能实现从主库(即当前使用的业务数据库)异步同步数据到从库(备份库),当主库数据库或主机出现当机不能启动时,可以通过切换到从库实现业务系统的快速恢复. 首先介绍一下我的环境,我有一个已经使用中的MySQL数据库A,然后我新装了一台MySQL数据库B作为A的从库. 一.master库A设置 先修改mysql的配置 vim /etc/my.cnf 插入下面2行 server-id=1   #这个ID是唯一的,不能和其他的主库或者从库一样 log-bin=mysql-b

Linux下MySQL主从同步配置

Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一.主服务器相关配置 1.创建同步账户并指定服务器地址 [[email protected] ~]mysql -uroot -p mysql>use mysql mysql>grant replication slave on *.* to 'testuser'@'192.168.1.102' ide

Mysql主从同步配置方案(Centos7)

最近在做项目高可用时,需要使用数据同步.由于只有双节点,且采用主主同步可能存在循环同步的风险,故综合考虑采用Mysql主从同步(Master-Slave同步). 可能没有接触过Mysql数据同步时,可能会觉得数据同步很难,但你按照如下操作一遍之后,会发现原来同步如此简单,毕竟我们只需要会配置,会排查问题,底层具体实现Mysql团队早帮忙实现了.废话不多说,直入话题: (1)首先,保证有两台设备(主.从),分别在两台设备上安装Mysql数据库.安装完成之后, 使用mysql -u[数据库用户名]

Mysql 主从同步配置

工作用MySQL数据库配置了主从同步,但是不知道为啥同步失效了.工作环境不能随便操作,我就在本地上搭建了主从同步的环境. 备份用的工具是Xtrabackup,安装及使用教程见<innobackupex实现MySQL数据库的备份与恢复>. 1.数据库环境 主库(Master):192.168.126.150 从库(Slave):192.168.126.151 数据库版本:5.5.32 2.修改my.cnf文件 1)修改主服务器master: #vi /etc/my.cnf [mysqld] lo

Mysql 主从同步配置实例

*两台Linux服务器,一主一从,从数据库同步主数据库的数据 *系统:Centos 6.4-64bit *主(master)数据库服务器IP地址:192.168.100.200 *从 (slave )数据库服务器IP地址:192.168.100.201 *本实验用系统自带的rpm包安装,以提供mysql服务 1.分别在两台服务器上安装mysql服务 # yum -y install mysql mysq-server # service mysqld start # chkconfig mysq

mac下mysql主从同步配置

一.环境说明 两台mac,mysql环境master是5.7.20,slave是5.7.21 master IP: 172.21.127.10 slave IP:172.21.127.12 二.master机器配置 1.更改配置文件 # Default Homebrew MySQL server config [mysqld] # Only allow connections from localhost bind-address = 172.21.127.10 log-error=/var/l

mysql主从同步配置详解

mysql的主从配置参考了不少文章,有的讲的很模糊,有的讲的是老版本,与当下流行的版本有很大出入,配置的过程中各种报错,在把一个一个的坑填完后,这里总结一份比较详细的正确配置步骤. 环境: 操作系统为64位windows10,mysql版本为5.7 主(master):192.168.94.23 端口:3308 从(slave):192.168.94.23 端口:3309 将事先下载好的5.7版本的mysql,复制两份,分别重命名mysql2(主库)和mysql3(从库), 官网下载地址:htt