`
lavafree
  • 浏览: 538704 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mysql实现Master-Slave复制 同步

阅读更多

Mysql可以通过Master-Slave来实现数据的拷贝,这也是数据库读写分离的主要实现方式。

这几天试了一下Master-Slave的方式,把主要的要点总结一下,如果要看详细的,参考mysql的帮助。

我的测试服务器是两台ubuntu的机器,MASTER IP:192.168.1.100 SLAVE IP:192.168.1.101

1.要安装兼容版本的mysql,我这里在ubunut下,直接apt-get了一个mysql,安装的版本为
shell$ mysql -V
mysql  Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (i486) using readline 6.1
端口默认3306

2.在主库上新建一个库 create database  testdb;
新建一张表 create table t_test1(id int,name varchar(32));
插入几条数据

3.mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.101' IDENTIFIED BY '123456';

4.更改主库的my.cnf
shell$vi /etc/mysql/my.cnf
主要修改为:
server-id               = 1  #master id  主库的id,不起用默认为1,设置m-s每一个id必须唯一
log_bin                 = /var/log/mysql/mysql-bin.log    #启用二进制日志
binlog_do_db            = testdb  #用于master-slave的具体数据库
#binlog_ignore_db       = include_database_name

保存退出重新启动mysql

5.查看主库状态
mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000006 |      207 | testdb       |                  |
+------------------+----------+--------------+------------------+

OK,主库的基本设置完成,设置从库

首先备份主库
shell$ mysqldump -uroot -p testdb>testdb.sql

传到101上去
shell$ scp -P 22218 testdb.sql user@192.168.1.101:~

登入101,创建 create database testdb;

还原
shell$ mysql -uroot -p testdb show master status;

在101上,编辑my.cnf文件

sudo vi /etc/mysql/my.cnf
server-id = 2  # mysql的一个id,每一个mysql有一个唯一的id不能重复

编辑完了之后,重启mysql。

进入mysql,关闭mysql slave : slave stop;
改变主库的连接
mysql>CHANGE MASTER TO MASTER_HOST='192.168.1.100',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000006',MASTER_LOG_POS=207;

启动slave : slave start;
主库运行:

mysql>SHOW PROCESSLIST\G;

如果看到
Command: Binlog Dump
启动完成
从库也运行

mysql>SHOW PROCESSLIST\G;
看到
mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
     Id: 10
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 11
  State: Waiting for master to send event
   Info: NULL
*************************** 2. row ***************************
     Id: 11
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 11
  State: Has read all relay log; waiting for the slave I/O thread to update it
   Info: NULL
说明启动,接下来,我们在主库插入数据,再在从库查询是否有数据,有,就安装成功。

总结,mysql master-slave安装不是很难,主要有注意几点
1.数据库版本要兼容
2.数据库实现拷贝之前要同步

分享到:
评论

相关推荐

    Mysql-master-slave.rar_Master/Slave_slave mysql

    MySQL的主从复制是数据库高可用性和数据冗余的一种常见实现方式,它允许数据从一个服务器(主服务器)同步到一个或多个其他服务器(从服务器)。这种架构在处理大量读取操作、提供故障切换能力以及分布式系统中尤其...

    如何解决MySQL的master-slave模式中ReplicationDriver的使用问题

    在MySQL数据库系统中,主从复制(Master-Slave Replication)是一种常用的数据冗余和负载均衡策略。这种模式允许数据从一个主服务器(Master)实时同步到一个或多个从服务器(Slave)。当主服务器上的数据发生变化时...

    基于MySQL数据库复制Master-Slave架构的分析

    MySQL数据库复制Master-Slave架构是一种常见的数据库高可用性和扩展性的解决方案。在这一架构中,数据库被分为一个主服务器(Master)和一个或多个从服务器(Slave)。主服务器接收并处理所有的写操作,如INSERT、...

    mysql5.5 master-slave(Replication)主从配置

    在MySQL中,**主从复制(Master-Slave Replication)**是一种非常重要的数据备份方式,通过它可以在多台服务器之间实现数据的同步。这种方式不仅可以用于数据备份,还可以用于读写分离,从而提高系统的整体性能。 #...

    mysql5.5 master-slave(Replication)配置方法

    - **主从复制(Master-Slave Replication)**:MySQL的一种数据复制方式,它能够将一个MySQL服务器(主服务器或Master)的数据自动复制到另一个或多个MySQL服务器(从服务器或Slave)。这种架构通常用于实现数据备份...

    搭建MySQL的MasterSlave架构

    - 在Slave服务器上,使用`SHOW SLAVE STATUS`检查复制状态,确认是否正确连接到Master并同步数据。 - 测试集群功能,例如在Master上创建表并插入数据,然后在Slave上验证这些更改是否已同步。 5. **注意事项** -...

    proxysql-basics-master-slave:为MasterSlave拓扑设置ProxySQL的基本教程

    在Master-Slave架构中,主服务器(Master)接收所有写操作,而从服务器(Slave)同步主服务器的数据并仅处理读请求。这种设计提高了系统的可扩展性和容错性,因为即使主服务器出现故障,也能快速切换到从服务器,...

    mysql双机热备同步

    MySQL 双机热备同步是指两个 MySQL 服务器之间的实时数据同步,通过配置主从关系和双向同步机制,实现数据的实时备份和热备。下面将详细介绍 MySQL 双机热备同步的配置步骤和原理。 主从关系同步 在 MySQL 中,...

    在windows下进行mysql单机主-从同步复制

    在Windows环境下进行MySQL单机主-从同步复制是一项高级配置技术,主要用于实现数据冗余、负载均衡或数据分发。本文将深入解析这一过程的关键步骤和技术细节,帮助读者理解并实施MySQL主从复制。 ### 复制基本原理 ...

    MYSQL的masterslave数据同步配置.rar

    MySQL的主从(Master-Slave)数据同步配置是一种常见的数据库高可用性和负载均衡解决方案,它允许数据在多个服务器之间复制,确保数据的一致性,并且可以在主服务器故障时提供故障转移。以下是对这一主题的详细说明...

    MySQL Master-Slaves 主从复制.pdf

    MySQL主从复制是数据库管理系统中一种用来实现数据备份、读写分离、负载均衡、故障恢复等目的的机制。通过配置主从复制,可以将主数据库服务器的数据变更实时同步到一个或多个从服务器上,从而形成一个主从复制架构...

    mysql读写分离实现

    在搭建MySQL读写分离环境中,首先需要创建一个Master-Slave复制环境,这样可以从Master节点实时同步数据到Slave节点,从而实现数据的冗余备份,并为后续的读写分离打下基础。 **2.1.1 配置Master** 1. **安装MySQL...

    如何实现MySQL的主从复制和半同步复制

    1. **半同步插件**:MySQL提供了一个名为`rpl_semi_sync`的半同步复制插件,包含主服务器的`rpl_semi_sync_master`和从服务器的`rpl_semi_sync_slave`两部分。 2. **工作流程**: - 主服务器事务提交时,会等待...

    MySQL数据库间实现同步.pdf

    在本文中,我们将介绍如何在两台 MySQL 服务器之间实现单向同步,即将主服务器(master)的数据同步到从服务器(slave)上。 安装和配置 MySQL 服务器 首先,需要在两台服务器上安装 MySQL,并将其安装到 `/usr/...

    如何在两台MySQL数据库间实现同步

    在开发环境中,有时需要在两台MySQL数据库之间实现数据同步,以确保数据的一致性和冗余。本教程将详细介绍如何在两台运行相同系统(FreeBSD 5.4)和软件(Apache 2.0.55、PHP 4.4.0、MySQL 4.1.15)的服务器上配置...

    mha4mysql-master和mha4mysql-node

    MySQL主从复制是一种异步复制机制,主要分为三个角色:主服务器(Master)、从服务器(Slave)和复制线程。主服务器负责处理客户端的写请求,并将更改记录到二进制日志(binlog)。从服务器通过IO线程拉取主服务器的...

Global site tag (gtag.js) - Google Analytics