主从复制配置

应用示例:

这里我们假设Master-Slave已经建立。
    #启动master服务器。
    [[email protected] redis]# redis-cli -p 6379
    redis 127.0.0.1:6379>
    #情况Master当前数据库中的所有Keys。
    redis 127.0.0.1:6379> flushdb
    OK
    #在Master中创建新的Keys作为测试数据。
    redis 127.0.0.1:6379> set mykey hello
    OK
    redis 127.0.0.1:6379> set mykey2 world
    OK
    #查看Master中存在哪些Keys。
    redis 127.0.0.1:6379> keys *
    1) "mykey"
    2) "mykey2"
    
    #启动slave服务器。
    [[email protected] redis]# redis-cli -p 6380
    #查看Slave中的Keys是否和Master中一致,从结果看,他们是相等的。
    redis 127.0.0.1:6380> keys *
    1) "mykey"
    2) "mykey2"
    
    #在Master中删除其中一个测试Key,并查看删除后的结果。
    redis 127.0.0.1:6379> del mykey2
    (integer) 1
    redis 127.0.0.1:6379> keys *
    1) "mykey"
    
    #在Slave中查看是否mykey2也已经在Slave中被删除。
    redis 127.0.0.1:6380> keys *
    1) "mykey"


redis主从复制配置:
    环境:Linux一台(192.168.6.205)、redis端口分别为6379、6370
    安装好redis之后我的测试目录是这样的:


1

2

3

4

[[email protected] redis]# pwd

/usr/local/redis

[[email protected] redis]# ls

master  master-redis-2.8.1  slave  slave-redis-2.8.1

master、slave是我新建的一个目录,下面分别是bin、ect目录用来存放各自的redis命令和配置文件


1

2

3

4

[[email protected] bin]# pwd

/usr/local/redis/master/bin

[[email protected] bin]# ls

dump.rdb  mkreleasehdr.sh  redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-sentinel redis-server


1

2

3

4

[[email protected] etc]# pwd

/usr/local/redis/master/etc

[[email protected] etc]# ls

master-redis.conf


1

2

3

4

[[email protected] bin]# pwd

/usr/local/redis/slave/bin

[[email protected] bin]# ls

dump.rdb  mkreleasehdr.sh  redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-sentinel redis-server


1

2

3

4

[[email protected] etc]# pwd

/usr/local/redis/slave/etc

[[email protected] etc]# ls

slave-redis.conf

/usr/local/bin:


1

2

3

4

[[email protected] redis]# pwd

/usr/local/bin/redis

[[email protected] redis]# ls

master  slave

配置:主服务没动,只在slave的配置文件中修改# slaveof <masterip> <masterport>为master所在的ip 和端口,如:


1

2

3

4

[[email protected] master]# cd /usr/local/redis/slave/etc/

[[email protected] etc]# vi slave-redis.conf

# slaveof <masterip> <masterport>

slaveof 192.168.6.205 6379

启动master:


1

2

3

4

[[email protected] etc]# ps -ef |grep redis

root      6830  5985  0 13:54 pts/2    00:00:00 grepredis

[[email protected] bin]# cd /usr/local/redis/master/bin/

[[email protected] bin]# ./redis-server /usr/local/redis/master/etc/master-redis.conf

连接master:


1

2

3

4

5

6

[[email protected] bin]# ./redis-cli

127.0.0.1:6379> keys *

1) "aaaaaaaaaaa"

2) "security"

3) "mm"

4) "a"

查看master连接信息:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

127.0.0.1:6379> info

...

config_file:/usr/local/redis/master/etc/master-redis.conf

# Clients

connected_clients:1

client_longest_output_list:0

client_biggest_input_buf:0

blocked_clients:0

# Replication

role:master

connected_slaves:0

master_repl_offset:0

repl_backlog_active:0

repl_backlog_size:1048576

repl_backlog_first_byte_offset:0

repl_backlog_histlen:0

此时可以看到该redis role为master

启动slave:


1

2

[[email protected] bin]# cd /usr/local/redis/slave/bin/

[[email protected] bin]# ./redis-server /usr/local/redis/slave/etc/slave-redis.conf

连接slave:


1

2

3

4

5

6

[[email protected] bin]# ./redis-cli -p 6370

127.0.0.1:6370> keys *

1) "mm"

2) "a"

3) "security"

4) "aaaaaaaaaaa"

可以看到该连接信息为:127.0.0.1:6370>,master的数据已经被同步过来了。 
./redis-cli 该客户端默认连接的端口号为6379,可以通过-p指定端口,-h指定主机。

查看进程可以看到已经有两个redis服务在运行


1

2

3

4

[[email protected] bin]# ps -ef |grep redis

root      6835     1  0 13:56 ?        00:00:00 ./redis-server*:6379        

root      6866     1  0 14:01 ?        00:00:00 ./redis-server*:6370        

root      6895  4071  0 14:05 pts/1    00:00:00 grepredis

查看slave连接信息:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

127.0.0.1:6370> info

...

config_file:/usr/local/redis/slave/etc/slave-redis.conf

...

# Replication

role:slave

master_host:192.168.6.205

master_port:6379

master_link_status:up

master_last_io_seconds_ago:3

master_sync_in_progress:0

slave_repl_offset:463

slave_priority:100

slave_read_only:1

connected_slaves:0

master_repl_offset:0

repl_backlog_active:0

repl_backlog_size:1048576

repl_backlog_first_byte_offset:0

repl_backlog_histlen:0

可以看到redis role为slave, master_port为6379,master_host:192.168.6.205,master_link_status:up

时间: 2024-10-20 03:04:34

主从复制配置的相关文章

mysql 5.5主从复制配置

首先将主库现有的要实现主从的数据库原原本本地复制到从库上,目的是一开始就让主从同步,让binlog日志从最新的记录开始同步! 备份: 1 导出所有库 系统命令行 mysqldump -uusername -ppassword --all-databases > all.sql 2 导入所有库 mysql命令行 mysql>source all.sql; 远程复制:将192.168.80.145上的test.sql拷到本机上 scp 192.168.80.145:/tmp/test.sql /t

Mysql5.7 主从复制配置

1.环境 Centos 7 Mysql 5.7 Master  192.168.1.71 Slave01 192.168.1.72 2.分别配置master,slave01 # vi /etc/my.cnf [mysqld]       log-bin=mysql-bin   //[必须]启用二进制日志                                        ------新增       server-id=71      //[必须]服务器唯一ID,slave01此处为7

mysql 主从复制配置

主从复制配置 步骤如下: 主服务器:从服务器ip地址分别为 [python] view plain copy 192.168.145.222.192.168.145.226 1.修改主服务器master: [python] view plain copy vi /etc/my.cnf [mysqld] log-bin=mysql-bin   #[必须]启用二进制日志 server-id=222      #[必须]服务器唯一ID,默认是1,一般取IP最后一段 2.修改从服务器slave: [py

数据库主从复制配置

主服务器:IP地址192.168.56.128,mysql已经安装,无用户数据. 从服务器:IP地址192.168.56.129,mysql已经安装. 主服务器的mysql服务已经正常启动. 主从复制配置 主服务器上进行操作 (1)创建用户并授权 1    mysql -uroot -p密码 2    mysql>grant replication slave on *.* to [email protected] identified by 'mysql'; 3    mysql>flush

redis的主从复制配置

redis的主从复制配置 一.     原理 Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.下面是关于redis主从复制的一些特点:1.master可以有多个slave2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构3.主从复制不会阻塞master.也就是说当一个或多个slave与master进行初次同步数据时,master可以继续处理cl

mysql主从复制配置操作以及主从宕机切换演练

主从复制目的: 主从服务器设置的稳健性得以提升,如果主服务器发生故障,可以把本来作为备份的从服务器提升为新的主服务器.在主从服务器上分开处理用户的请求,读的话,可以直接读取备机数据,可获得更短的响应时间. 主服务器:IP地址192.168.80.129,mysql已经安装,无用户数据. 从服务器:IP地址192.168.80.130,mysql已经安装. 注:数据库版本必须一致. 1.主从复制配置 修改从服务器的配置文件/etc/my.cnf,在mysqld里添加一下属性 [mysqld] lo

实现Redis的主从复制配置

实现Redis的主从复制配置比较简单,而且容易明白. 下图是要配置的主从复制结构图: 1.说明 Redis主从复制中一个主服务可以有多个从服务,一个从服务可以有多个从服务. 配置比较简单,只需要更改redis.conf文件中的slaveof参数配置即可. slaveof参数的格式如:slaveof <masterip> <masterport> 如果master服务器设置有密码则需要配置masterauth参数. masterauth参数格式如:masterauth <mas

mysql5.7.26做主从复制配置

一.首先两台服务器安装好mysql数据库环境 参照linux rpm方式安装mysql5.1 https://www.cnblogs.com/sky-cheng/p/10564604.html 二.主库master上创建主从复制账号 mysql> grant replication slave,replication client on *.* to 'repl'@'%' identified by '[email protected]'; Query OK, 0 rows affected,

mysql互为主从复制配置笔记--未读,稍后学习

MySQL-master1:192.168.72.128 MySQL-master2:192.168.72.129 OS版本:CentOS 5.4MySQL版本:5.5.9(主从复制的master和slave服务器中的mysql版本相同或者master版本高于slave版本) 一.MySQL master-master配置 1.修改MySQL配置文件 两台MySQL均如要开启binlog日志功能,开启方法:在MySQL-master1  配置文件/etc/my.cnf  [MySQLd]段中加上