`

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数据库双活同步复制方案详解.pdf

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

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

    MySQL的主从复制、半同步复制、主主复制详解,很不错,可以下载看看

    mysql主从复制原理详解图

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

    mysql主从同步详解

    Mysql内建的复制功能是构建大型、高性能应用程序的基础。在实际企业应用环境当中,单台mysql数据库是不足以满足日后业务需求的。譬如当服务器发生故障,而没有备份服务器来提供服务时,业务就必须得停止,这样会对...

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

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

    MySQL 复制表详解及实例代码

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

    Mysql主从、主主复制详解

    主要是建立mysql的主主复制和主从复制

    centos下mysql主从复制设置详解

    centos5.4下mysql主从复制步骤详解,大家参考使用吧

    MySQL配置文件中文详解

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

    基于Mycat的Mysql主从复制读写分离配置详解与示例

    基于Mycat的Mysql主从复制读写分离配置详解与示例,DBA必看的

    基于python的mysql复制工具详解

    python-mysql-replication 是基于python实现的 MySQL复制协议工具,我们可以用它来解析binlog 获取日志的insert,update,delete等事件 ,并基于此做其他业务需求。比如数据更改时失效缓存,监听dml事件通知下游业务...

    MySQL 复制详解及简单实例

    MySQL 复制详解及简单实例  主从复制技术在MySQL中被广泛使用,主要用于同步一台服务器上的数据至多台从服务器,可以用于实现负载均衡,高可用和故障切换,以及提供备份等等。MySQL支持多种不同的复制技术,诸如...

    mysql 复制原理与实践应用详解

    主要介绍了mysql 复制原理与实践应用,结合实例形式详细分析了MySQL数据库复制功能的原理、操作技巧与相关注意事项,需要的朋友可以参考下

    MySQL复制优点、原理详解

    MySQL复制的优点: 主库故障,可以快速切换至从库提供服务; 在从库执行查询操作,降低主库的访问压力; 在从库执行备份,避免备份期间对主库影响; MySQL复制原理 1、MySQL主库在事务提交时会把数据变更作为...

    基于Docker如何实现MySQL主从复制详解

    MySQL复制数据流程: 主库在数据更新提交事务之前,将事件异步记录到binlog二进制日志文件中,日志记录完成后存储引擎提交本次事务 从库启动一个I/O线程与主库建立连接,用来请求主库中要更新的binl

    热璞数据库HotDB-基于MySQL复制进行高可用的避坑详解.docx

    热璞数据库HotDB-基于MySQL复制进行高可用的避坑详解.docx

Global site tag (gtag.js) - Google Analytics