`

mysql的复制设置详解

 
阅读更多

 

原文链接:http://www.javaarch.net/jiagoushi/870.htm

 

 

mysql的复制设置详解

在mysql的master/slave架构中,需要使用replication机制将master的数据复制到slave中,或者在读写分离情况下,需要把写节点的数据复制到读节点中。

1.安装mysql

从mysql官网http://dev.mysql.com/下载mysql,然后在master和slave机器上分别都安装上mysql;

2.修改master机器上的my.cnf mysql的配置,在[mysqld]区域添加下面的配置,使用binlog日志同步

	server-id=1
	log-bin=sqlserverbin.log
	
3.在master机器上创建一个作为replication的用户

	mysql> CREATE USER 'replicator'@'10.1.1.15';
	mysql> GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'10.1.1.15' IDENTIFIED BY 'replicatorpassword';
	mysql> FLUSH PRIVILEGES;
	
4.修改slave机器的my.cnf配置文件,在[mysqld]部分增加下面的配置,这里的serverid跟master必须不一样,都得唯一,如果有多台slave机器,这里每台slave机器也得不一样

	server-id=2
	relay-log-index=relay-bin.index
	relay-log=relay-bin
	
5.重启master和slave的mysql服务,在slave端执行下面命令

	mysql> CHANGE MASTER TO MASTER_HOST='10.1.1.14',
	 -> MASTER_USER='replicator',
	 -> MASTER_PASSWORD='replicatorpassword',
	 -> MASTER_LOG_FILE='',
	 -> MASTER_LOG_POS=4;
	 
如果线上已经数据库中已经有数据,那么可以通过下面的方法来同步已有数据

1.对my.cnf的配置类似上面的步骤
2. 重启两边服务之后,在master端执行

	mysql> GRANT ALL ON *.* TO 'root'@'10.1.1.15';
	mysql> GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'10.1.1.15' IDENTIFIED BY 'replicatorpassword';
	mysql> FLUSH PRIVILEGES
	
3.在slave端执行

	mysql -u root-p rootpw -h 10.1.1.14 -e "FLUSH TABLES WITH READ LOCK;SHOW MASTER STATUS" > mastertemp.txt;
	mysqldump -u root -p rootpw -h 10.1.1.14 -A --single-transaction | mysql -u root -p rootpw
	mysql -u root -p rootpw  -h 10.1.1.14 -e "UNLOCK TABLES";
	
这里是通过从master端导出表数据导本地,然后将本地数据再倒入到本地数据库中,通过加读锁实现。

4.最后再slave端执行

	mysql> CHANGE MASTER TO MASTER_HOST='10.1.1.14', 'MASTER_PORT=3306, MASTER_USER='replicator', MASTER_PASSWORD='replicatorpassword', MASTER_LOG_FILE='log_file_you_took_from_text_file', MASTER_LOG_POS='number_you_took_from_text_file';
	START SLAVE;

 

 

0
6
分享到:
评论

相关推荐

    MySQL复制设置步骤

    ### MySQL复制设置步骤详解 MySQL复制机制是一种强大的技术,它允许不同计算机上的MySQL服务器之间保持数据的同步。本文将深入探讨MySQL复制的设置步骤,基于提供的文件内容,我们将重点讲解如何构建一个“主-从”...

    MySQL安全配置详解

    MySQL 安全配置详解 MySQL 是一个真正的多用户、多线程 SQL 数据库服务器,它是一个客户机/服务器结构的实现。MySQL 安全配置详解将指导用户如何正确地配置 MySQL,以确保数据库的安全性。 一、MySQL 安装 MySQL ...

    MySQL数据库双活同步复制方案详解.pdf

    MySQL数据库双活同步复制方案是为了实现数据库的高可用性和数据一致性,确保在主数据库出现故障时,能够无缝切换到备用数据库,保持业务连续性。以下将详细解释几种常见的双活同步复制策略。 **1. 基于MySQL原生...

    MySQL的主从复制、半同步复制、主主复制详解

    MySQL复制技术的几种主要类型包括主从复制、半同步复制和主主复制,它们在数据库架构中扮演着重要的角色。下面将对这些复制技术进行详细解释。 首先,主从复制是最常见的复制方式,它涉及一个主服务器(Master)和...

    mysql主从复制原理详解图

    详细的结构分解,可以快速了解mysql主从复制的原理和对主从更清晰的了解。

    mysql 5.7 配置详解

    下面将对一些关键配置选项进行详细解释,并介绍如何进行主从复制和多线程设置。 1. **my.cnf配置文件** - `my.cnf`是MySQL服务器的主要配置文件,位于系统的特定目录下(如Linux的/etc/my.cnf或Windows的my.ini)...

    MySQL 复制表详解及实例代码

    MySQL 复制表详解 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。 如果仅仅使用CREATE TABLE … SELECT 命令,是无法实现的。 本章节将为大家介绍如何完整的复制MySQL数据表,步骤如下: ...

    mysql 5.6 教程详解

    MySQL 5.6是一个非常流行的开源关系型数据库管理...通过以上内容,我们可以看到MySQL 5.6官方教程详解覆盖了从基础到高级的广泛知识。无论是对于初学者还是资深数据库管理员,它都是获取MySQL 5.6深入知识的宝贵资源。

    mysqldiff用法详解.pdf

    **mysqldiff 用法详解** `mysqldiff` 是 MySQL Utilities 工具集中的一个重要组件,专门用于比较和同步两个 MySQL 数据库的结构。这个工具在数据库升级、维护或合并不同环境的数据库时非常有用,可以显著提高工作...

    Mysql主从配置详解

    ### MySQL主从配置详解 #### 一、MySQL主从配置概述 MySQL的主从复制机制是一种数据同步方式,主要用于实现数据库的数据备份与高可用性。通过设置一个或多个从服务器来复制主服务器上的数据更新操作,可以有效分散...

    mysql基础知识详解,完整ppt

    这份"mysql基础知识详解,完整ppt"提供了全面的学习资源,帮助初学者和教学者快速掌握MySQL的核心概念。以下是对这份PPT中可能涵盖的知识点的详细解读: 1. **MySQL简介**:MySQL是一个开源、免费的数据库系统,它...

    MySQL数据库双活同步复制方案详解.docx

    MySQL数据库双活同步复制方案是为了实现数据库的高可用性和数据一致性,主要分为几种常见的方法,包括MySQL原生复制主主同步、Galera replication、Group Replication以及第三方工具如canal。 1. MySQL原生复制主主...

    MySQL主从复制详解:实现高可用性与负载均衡的关键.txt

    mysql主从复制

    mysql技术详解

    MySQL提供主从复制功能,实现数据的实时同步,提高系统可用性和容错性。还有像MySQL Cluster和Galera Cluster这样的高可用解决方案,提供多节点的集群环境。 11. **触发器与存储过程** 触发器是在特定事件(如...

    MySQL主从配置详解.pdf

    MySQL复制的基本过程包括: 1. 从服务器的IO线程连接主服务器,并请求从指定日志文件的指定位置开始复制数据。 2. 主服务器的IO线程接收到请求后,读取指定位置之后的日志信息,并将其返回给从服务器。 3. 从服务器...

    MySQL配置文件中文详解

    MySQL配置文件中文详解,优化调试必备。内存设置、日志设置、主从复制设置、redo log和binlog的关系设置、Innodb设置

Global site tag (gtag.js) - Google Analytics