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的主从复制是数据库高可用性和数据冗余的一种常见实现方式,它允许数据从一个服务器(主服务器)同步到一个或多个其他服务器(从服务器)。这种架构在处理大量读取操作、提供故障切换能力以及分布式系统中尤其...
在MySQL数据库系统中,主从复制(Master-Slave Replication)是一种常用的数据冗余和负载均衡策略。这种模式允许数据从一个主服务器(Master)实时同步到一个或多个从服务器(Slave)。当主服务器上的数据发生变化时...
MySQL数据库复制Master-Slave架构是一种常见的数据库高可用性和扩展性的解决方案。在这一架构中,数据库被分为一个主服务器(Master)和一个或多个从服务器(Slave)。主服务器接收并处理所有的写操作,如INSERT、...
在MySQL中,**主从复制(Master-Slave Replication)**是一种非常重要的数据备份方式,通过它可以在多台服务器之间实现数据的同步。这种方式不仅可以用于数据备份,还可以用于读写分离,从而提高系统的整体性能。 #...
- **主从复制(Master-Slave Replication)**:MySQL的一种数据复制方式,它能够将一个MySQL服务器(主服务器或Master)的数据自动复制到另一个或多个MySQL服务器(从服务器或Slave)。这种架构通常用于实现数据备份...
- 在Slave服务器上,使用`SHOW SLAVE STATUS`检查复制状态,确认是否正确连接到Master并同步数据。 - 测试集群功能,例如在Master上创建表并插入数据,然后在Slave上验证这些更改是否已同步。 5. **注意事项** -...
在Master-Slave架构中,主服务器(Master)接收所有写操作,而从服务器(Slave)同步主服务器的数据并仅处理读请求。这种设计提高了系统的可扩展性和容错性,因为即使主服务器出现故障,也能快速切换到从服务器,...
MySQL 双机热备同步是指两个 MySQL 服务器之间的实时数据同步,通过配置主从关系和双向同步机制,实现数据的实时备份和热备。下面将详细介绍 MySQL 双机热备同步的配置步骤和原理。 主从关系同步 在 MySQL 中,...
在Windows环境下进行MySQL单机主-从同步复制是一项高级配置技术,主要用于实现数据冗余、负载均衡或数据分发。本文将深入解析这一过程的关键步骤和技术细节,帮助读者理解并实施MySQL主从复制。 ### 复制基本原理 ...
MySQL的主从(Master-Slave)数据同步配置是一种常见的数据库高可用性和负载均衡解决方案,它允许数据在多个服务器之间复制,确保数据的一致性,并且可以在主服务器故障时提供故障转移。以下是对这一主题的详细说明...
MySQL主从复制是数据库管理系统中一种用来实现数据备份、读写分离、负载均衡、故障恢复等目的的机制。通过配置主从复制,可以将主数据库服务器的数据变更实时同步到一个或多个从服务器上,从而形成一个主从复制架构...
在搭建MySQL读写分离环境中,首先需要创建一个Master-Slave复制环境,这样可以从Master节点实时同步数据到Slave节点,从而实现数据的冗余备份,并为后续的读写分离打下基础。 **2.1.1 配置Master** 1. **安装MySQL...
1. **半同步插件**:MySQL提供了一个名为`rpl_semi_sync`的半同步复制插件,包含主服务器的`rpl_semi_sync_master`和从服务器的`rpl_semi_sync_slave`两部分。 2. **工作流程**: - 主服务器事务提交时,会等待...
在本文中,我们将介绍如何在两台 MySQL 服务器之间实现单向同步,即将主服务器(master)的数据同步到从服务器(slave)上。 安装和配置 MySQL 服务器 首先,需要在两台服务器上安装 MySQL,并将其安装到 `/usr/...
在开发环境中,有时需要在两台MySQL数据库之间实现数据同步,以确保数据的一致性和冗余。本教程将详细介绍如何在两台运行相同系统(FreeBSD 5.4)和软件(Apache 2.0.55、PHP 4.4.0、MySQL 4.1.15)的服务器上配置...
MySQL主从复制是一种异步复制机制,主要分为三个角色:主服务器(Master)、从服务器(Slave)和复制线程。主服务器负责处理客户端的写请求,并将更改记录到二进制日志(binlog)。从服务器通过IO线程拉取主服务器的...