mysql的Master-Slave复制配置步骤。在之前的文章中有记录MySQL的安装步骤,见 windows上安装MySQL 和 linux上安装MySQL。这里记录下MySQL的主从复制环境的配置。

下面的引用是译自MySQL官网对 复制 的描述:

复制允许将来自一个MySQL数据库服务器(主服务器)的数据复制到一个或多个MySQL数据库服务器(从服务器)。

MySQL的复制有如下优点:

扩展解决方案 - 在多个Slaves(从节点)中传播负载以提高性能。在此环境中,所有的写和更新在主服务器中进行。然后,读操作可以在一个或多个Slave节点中进行。此模型可以提高写的性能(因为主节点专用于更新),同时,在越来越多的从节点上提高读取速度。 数据安全 - 因为数据复制到了从节点,从节点可以暂停复制进程,才有可能在不影响主节点数据的情况下启动数据备份服务。 分析 - 在主节点上创建实时数据,从而在不影响主节点性能的情况下进行信息分析。 远程数据分布 - 如果分支机构希望使用主数据副本,则可以使用复制功能创建数据的本地副本以供其使用,而无需永久访问主数据。
1.主节点配置

在主节点中,必须开启二进制日志 (binlog) 并设定一个唯一的 Server ID。如果没有这样,需要配置好了后重启MySQL服务。

二进制日志记录了数据的变动情况,从节点 就是通过读取 主节点 的 二进制日志 来进行数据复制的,如果没有启动 二进制日志 ,复制将无法进行。

复制组中的每个服务器必须配置一个唯一的服务器ID,用于标识组中的不同服务器。

在my.cnf中新增如下配置:

[mysqld]
log-bin = mysql-bin
server-id = 1
2.从节点配置

在从节点上,必须指定唯一 Server ID。可以不为从节点开启二进制日志,如果开启了,也可以用于数据备份和恢复。

在my.cnf文件中配置如下:

[mysqld]
server-id = 2
3.创建复制用户

从节点需要有一个主节点上的用户来连接主节点,任何一个有 REPLICATION SLAVE 权限的用户都可以用户复制操作。登录到主节点,执行如下命令:

mysql> CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘repl123’;
mysql> GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’;
4.获取主节点BinLog坐标

从节点启动复制时需要获取到主节点binlog记录到的当前位置。

如果想在启动复制之前将主节点上已有的数据同步的从节点中,必须停止主节点上的处理语句,记录binlog日志位置,并备份需要所有数据。如果不停止主节点上的处理语句,会导致主从节点数据的不一致。

1.开启一个主节点上的连接,执行如下命令来阻塞所有的写操作

mysql> FLUSH TABLES WITH READ LOCK;

对于存储引擎为InnoDB的表,该命令也会阻塞 COMMIT 操作。当关闭了这个连接,对应的锁就会被释放。

2.在主节点上打开另外一个连接,执行如下命令来获取当前binlog位置。

mysql> SHOW MASTER STATUS;

结果如下图:
MySQL的Master-Slave复制配置步骤 mysql mysql数据库 mysql函数 Master-Slave复制配置
5.同步已有数据

1.备份主节点上的已有数据

mysql> mysqldump –all-databases –master-data > /tmp/dbdump.db

2.登录到从节点后执行备份的脚本

mysql> source /tmp/dbdump.db

数据同步完成后可关闭上一步中执行 FLUSH TABLES WITH READ LOCK; 命令的连接来释放锁。

6.启动复制

1.为从节点指定复制主节点

mysql> CHANGE MASTER TO MASTER_HOST=’master_host_name’, MASTER_USER=’repl’, MASTER_PASSWORD=’repl123’, MASTER_LOG_FILE=’recorded_log_file_name’, MASTER_LOG_POS=recorded_log_position;

其中 MASTER_LOG_FILE 和 MASTER_LOG_POS 即第4步中 SHOW MASTER STATUS 查询出的结果

2.启动复制线程

mysql> START SLAVE;

7.查看验证

查看复制状态

mysql> show slave status\G

出现如下结果时表示配置成功


MySQL的Master-Slave复制配置步骤 mysql mysql数据库 mysql函数 Master-Slave复制配置

本文数据库(mysql)相关术语:navicat for mysql mysql workbench mysql数据库 mysql 存储过程 mysql安装图解 mysql教程 mysql 管理工具

分页:12
转载请注明
本文标题:MySQL的Master-Slave复制配置步骤 mysql mysql数据库 mysql函数 Master-Slave复制配置
本站链接:http://www.codesec.net/view/519725.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(mysql) | 评论(0) | 阅读(82)