假设安装过一个Mysql
1.先安装2个Mysql 其实也就是复制一个Mysql (Mysql5.1 和 Mysql5.2)
2.修改端口号和安装地址(my.ini) 这里我们不使用默认端口3306 主要测试
- Mysql5.1
- [client]
-
port=3307
- [mysqld]
-
port=3307
-
basedir="E:/Mysql5.1/"
-
datadir="E:/Mysql5.1/Data/"
-
- Mysql5.2
- [client]
-
port=3308
- [mysqld]
-
port=3308
-
basedir="E:/Mysql5.2/"
-
datadir="E:/Mysql5.2/Data/"
Mysql5.1
[client]
port=3307
[mysqld]
port=3307
basedir="E:/Mysql5.1/"
datadir="E:/Mysql5.1/Data/"
Mysql5.2
[client]
port=3308
[mysqld]
port=3308
basedir="E:/Mysql5.2/"
datadir="E:/Mysql5.2/Data/"
3.在Master(Mysql5.1)的数据库中建立一个备份帐户,命令如下
- GRANT REPLICATION SLAVE ON *.* TO 'slave'@'localhost' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'localhost' IDENTIFIED BY '123456';
4.Master 为Mysql5.1 修改如下(my.ini):
- [mysqld]
- #Master start
- #日志输出地址 主要同步使用
-
log-bin=E:\Mysql5.1\Data\log-bin.log
- #同步数据库
-
binlog-do-db=cnb
- #主机id 不能和从机id重复
-
server-id=1
- #Master end
[mysqld]
#Master start
#日志输出地址 主要同步使用
log-bin=E:\Mysql5.1\Data\log-bin.log
#同步数据库
binlog-do-db=cnb
#主机id 不能和从机id重复
server-id=1
#Master end
5.Slave 为Mysql5.2 修改如下(my.ini):
- [mysqld]
- #Slave start
-
log-bin=E:\Mysql5.2\Data\log-bin.log
- #从机id,区别于主机id
-
server-id=2
- #主机ip,供从机连接主机用
-
master-host=localhost
- #主机端口
-
master-port=3307
- #刚才为从机复制主机数据新建的账号
-
master-user=slave
- #刚才为从机复制主机数据新建的密码
-
master-password=123456
- #重试间隔时间10秒
-
master-connect-retry=10
- #需要同步的数据库
-
replicate-do-db=cnb
- #启用从库日志,这样可以进行链式复制
- log-slave-updates
- #从库是否只读,0表示可读写,1表示只读
-
read-only=1
-
- #只复制某个表
-
#replicate-do-table=tablename
- #只复制某些表(可用匹配符)
-
#replicate-wild-do-table=tablename%
- #只复制某个库
-
#replicate-do-db=dbname
- #不复制某个表
-
#replicate-ignore-table=tablename
- #不复制某些表
-
#replicate-wild-ignore-table=tablename%
- #不复制某个库
-
#replicate-ignore-db=dbname
- #Slave end
[mysqld]
#Slave start
log-bin=E:\Mysql5.2\Data\log-bin.log
#从机id,区别于主机id
server-id=2
#主机ip,供从机连接主机用
master-host=localhost
#主机端口
master-port=3307
#刚才为从机复制主机数据新建的账号
master-user=slave
#刚才为从机复制主机数据新建的密码
master-password=123456
#重试间隔时间10秒
master-connect-retry=10
#需要同步的数据库
replicate-do-db=cnb
#启用从库日志,这样可以进行链式复制
log-slave-updates
#从库是否只读,0表示可读写,1表示只读
read-only=1
#只复制某个表
#replicate-do-table=tablename
#只复制某些表(可用匹配符)
#replicate-wild-do-table=tablename%
#只复制某个库
#replicate-do-db=dbname
#不复制某个表
#replicate-ignore-table=tablename
#不复制某些表
#replicate-wild-ignore-table=tablename%
#不复制某个库
#replicate-ignore-db=dbname
#Slave end
6.查询当前主机数据库文件和位置
mysql> show master status;
+----------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+----------------+----------+--------------+------------------+
| log-bin.000001 | 98 | cnb | |
+----------------+----------+--------------+------------------+
6.数据库操作测试如下为在Master(Mysql5.1)端操作 然后查看Slave(Mysql5.2)
- create databse cnb;
-
-
CREATE TABLE `users` (
-
`id` bigint(20) NOT NULL auto_increment,
-
`name` varchar(255) default NULL,
-
PRIMARY KEY (`id`)
-
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-
insert users(name) values('jacky');
相关推荐
MySQL的主从复制是数据库高可用性和数据冗余的一种常见实现方式,它允许数据从一个服务器(主服务器)同步到一个或多个其他服务器(从服务器)。这种架构在处理大量读取操作、提供故障切换能力以及分布式系统中尤其...
此资源为shardingsphere 调研...内容:一个master mysql docker实例,一个slave docker实例 内置3个库,mydb,mydb0,mydb1。仅开启了这三个库的主从。如果三个库主从不够用,自行配置。 使用:1.解压 2.执行build.sh
MySQL数据库复制Master-Slave架构是一种常见的数据库高可用性和扩展性的解决方案。在这一架构中,数据库被分为一个主服务器(Master)和一个或多个从服务器(Slave)。主服务器接收并处理所有的写操作,如INSERT、...
以下是如何在Windows环境下搭建MySQL5.0.22的Master-Slave架构的详细步骤: 1. **安装MySQL服务** - 首先,你需要从MySQL官方网站下载适合的操作系统版本,例如5.0.22。 - 按照标准的安装向导进行安装,并配置好...
Master-Slave的数据库机构解决了很多问题,特别是read/write比较高的web2.0应用: 1、写操作全部在Master结点执行,并由Slave数据库结点定时(默认60s)读取Master的bin-log 2、将众多的用户读请求分散到更多的...
MySQL的主主复制(Master-Master Replication)是一种高可用性解决方案,它允许两个或多个数据库服务器互相复制数据,形成一个集群。在这种模式下,每个节点既是主节点,也是从节点,可以接受读写操作。当一个节点...
npm install mysql-master-slave 使用示例: var cluster = require('mysql-master-slave'); var opts = { connectionLimit : 10, user: 'your-user', password: 'your-password', database: 'sampledb' } ...
relay-log-index=slave-relay-bin.index // 中继日志索引文件 relay-log=slave-relay-bin // 中继日志文件 replicate-do-db=test // 只复制名为test的数据库 datadir=/var/lib/mysql ``` 4. **初始化复制** `...
linux中shell脚本,用于监控mysql主从并且调用webservice接口发送短信
默认情况下,所有写操作都路由到Master,读操作路由到Slave。可以自定义规则以满足特定需求,例如基于查询语句类型或特定表。 六、Vagrant与Shell脚本 在Vagrant环境中,我们可以编写Shell脚本来自动化上述步骤,...
如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致slave mysql容器配置配置Dockerfile设置server_id,一般设置为
### MySQL 5.5 Master-Slave (Replication) 配置详解 #### 一、基础知识简介 在深入了解具体的配置步骤之前,我们首先简要回顾一下MySQL中的Master-Slave复制机制的基础概念。 - **主从复制(Master-Slave ...
在MySQL数据库系统中,主从复制(Master-Slave Replication)是一种常用的数据冗余和负载均衡策略。这种模式允许数据从一个主服务器(Master)实时同步到一个或多个从服务器(Slave)。当主服务器上的数据发生变化时...
Docker MySQL主从复制 ======================== 使用Docker进行MySQL主从复制 跑 要运行此示例,您将需要在启动安装程序复制后使用“ docker-compose”启动容器。请参阅./build.sh中的命令。 创建2个具有基于主从行...
Sharding-JDBC教程:Spring Boot2.0以上整合Sharding-JDBC实现分库分表+读写分离,Mysql数据库主从搭建:https://blog.csdn.net/forezp/article/details/94173427
Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs This error generally occur when we clone the master to slaver. Delete auto.cnf of mysql, and then ...
使用allen老师的hub镜像制作自己的mysql主从 --------- docker pull xiaochunping/mysql-master; docker pull xiaochunping/mysql-slave; -- cnetos docker run ,把my.cnf和data...mkdir -p /home/mysql/slave-data
log-slave-updates ``` 在从服务器上,需要添加以下配置: ``` log-bin server-id = 2 sql-bin-update-same binlog-do-db = abc binlog-ignore-db = mysql master-host = 192.168.5.10 master-user = bak master-...