前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >day107&day109部分&day111部分-Linux安装MariaDB&Redis

day107&day109部分&day111部分-Linux安装MariaDB&Redis

原创
作者头像
少年包青菜
修改2020-04-15 11:00:28
5800
修改2020-04-15 11:00:28
举报
文章被收录于专栏:Python 学习Python 学习
代码语言:txt
复制
1.MariaDB

1.1简介

代码语言:javascript
复制
# mariadb其实就是mysql
# mysql已经被oracle收购,它即将闭源,马上要开始收费了
# 因此还想免费试用开源的数据库mysql,就在centos7上,将mysql分支为mariadb

1.2安装

代码语言:javascript
复制
yum install mariadb-server

1.3初始化 MariaDB

代码语言:javascript
复制
mysql_secure_installation 
# 直接输入 y、n 一步一步走,设置root密码,删除匿名用户等等操作

1.4配置可远程登录MariaDB

代码语言:javascript
复制
# 主机 mysql 下执行改 sql,root用户远程只可以使用 123 作登录密码
grant all privileges on *.* to root@'%' identified by '123';

1.4.1权限

代码语言:javascript
复制
# 刷新授权表,使得权限立即生效
flush privileges;

1.4.2连接

代码语言:javascript
复制
# 远程 cmd 下执行 mysql -u root -p -h 192.168.1.xxx
# 前提远程主机已经安装了 mysql 服务
# 输入密码后即可

1.5更改 root 密码

代码语言:javascript
复制
set password = PASSWORD('xxx');

1.6创建新用户zhangsan,密码123

代码语言:javascript
复制
create user zhangsan@'%' identified by '123';

1.7数据库中文设置

代码语言:javascript
复制
# 修改mysql的配置文件 /etc/my.cnf ,复制以下信息
#
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    log-error=/var/log/mysqld.log
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8

# 修改了配置文件,重启服务
	systemctl restart mariadb 

1.8数据备份

1.8.1备份数据库

代码语言:javascript
复制
# 在Linux下输入命令
# 将数据库数据备份到 /data/db/dump 文件里面
mysqldump -u root -p --all-databases > /data/db.dump

1.8.2恢复数据库文件

代码语言:javascript
复制
# 可以删除一些不重要的库或者表做实验
# 在Linux下输入命令
mysql -uroot -p <  /opt/db.dump

# 或者在 MariaDB 命令行下执行
source /opt/db.dump

1.9数据从库备份主库数据

代码语言:javascript
复制
# 两台服务器
# 每一台服务器都有 MariaDB

1.9.1主库的操作如下

代码语言:javascript
复制
1.vim /etc/my.cnf 
# 写入如下,去掉注释
    [mysqld]
    server-id=1            # 指明主库的身份id为1
    log-bin=mysqls14-bin   # 指明binlog的日志名
代码语言:javascript
复制
2.修改了配置文件,重启mariadb,使得binlog生效
    systemctl restart mariadb  
代码语言:javascript
复制
3.登录mysql,检查主库的状态
    show master status;
    MariaDB [(none)]> show master status;
    +---------------------+----------+--------------+------------------+
    | File                | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +---------------------+----------+--------------+------------------+
    | mysqls14-bin.000001 |      245 |              |                  |
    +---------------------+----------+--------------+------------------+
    注意这个 file 的名字和 POoition 的值
代码语言:javascript
复制
4.创建一个用户,用于进行主从同步
    create user 'leon'@'%' identified by 'leon123';
代码语言:javascript
复制
5.授予账号权限,授予一个从库的身份权限
    grant replication slave on *.* to 'leon'@'%';
代码语言:javascript
复制
6.锁定mysql的表,防止数据写入
# 为什么要锁住:因为先锁住防止数据进入,从库就可以完全复制主库数据。
# 不能从库一边复制,主库同时又在写入
    flush table with read lock;

# 注意,此时进入 从库 的设置!

1.9.2从库的设置

代码语言:javascript
复制
1.vim /etc/my.cnf,去掉注释
    server-id=10    # 只要和主机的 server-id 不一样就可以 
代码语言:javascript
复制
2.重启myariadb
    systemctl restart mariadb
代码语言:javascript
复制
3.查看slave机器的身份信息
    show variables like 'server_id';     # vim /etc/my.cnf 里面的 server_id
    show variables like 'log_bin';       # 要为 OFF 状态,主库是 ON 状态
代码语言:javascript
复制
4.通过命令,开启主从同步技术,直接复制到从库的 MariaDB下执行即可
    change master to master_host='192.168.12.xx',   # 主库的ip
    master_user='leon',                             # 被赋权的用户
    master_password='leon123',                      # 被赋权的用户的密码
    master_log_file='mysqls14-bin.000001',          # 主库 show master status; 查看得到的 file 名
    master_log_pos=245;                             # 主库 show master status; 查看得到的 Position 值
代码语言:javascript
复制
5.刷新数据
    flush privileges;
代码语言:javascript
复制
6.开启slave,Mariadb下执行
    start slave;
代码语言:javascript
复制
7.检查slave状态,检查两条参数,如果都是yes,即主从ok
# Mariadb下执行:show slave status
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

# 注意,此时再次进入 主库 的设置!

代码语言:javascript
复制
7.主从同步,将从库与主库的数据,保持一致后,它俩都在同一个起跑线,然后解除锁表,一同写入数据,保证数据一致性
	1.导出当前的数据,用于slave机器导入数据,保证在一个起始点
	    mysqldump -u root -p --all-databases > /data/db.dump
	
	2.将此db.dump文件远程传输给从机服务器,用于导入
	    scp /data/db.dump  root@192.168.12.xx:/tmp/
	
	3.登录slave从库,导入主库的数据信息
	    source /tmp/db.dump 
	
	4.此时可以查看主库和从库的信息,是否一致
代码语言:javascript
复制
8.查看主库的状态信息,binlog信息
    show master status; 
代码语言:javascript
复制
9.解锁表,开始主从同步
    unlock tables;
代码语言:javascript
复制
10.此时可以在主库中写入数据,查看从库中是否生成了记录

2.redis

2.1redis 安装

2.1.1redis 下载

代码语言:javascript
复制
wget http://download.redis.io/releases/redis-4.0.10.tar.gz  
# 可指定版本

2.1.1解压安装

代码语言:javascript
复制
1.tar -zxvf redis-4.0.10.tar.gz  # 解压缩
2.cd redis-4.0.10                # 切换目录
3.make && make install           # 在目录下执行编译和安装

# 编译安装完成后,redis默认会将redis命令添加到环境变量中/usr/local/bin底下

2.2启动 redis

2.2.1配置 redis.conf

代码语言:javascript
复制
# 可直接清除原先的 conf 文件
vim redis.conf ,写入以下内容(不要加上注释)
	port 6379                        # 指定端口
	bind 0.0.0.0                     # 绑定本地 ip
	daemonize yes                    # 后台运行redis
	pidfile /data/6379/redis.pid     # 将redis进程的id写入到redis.pid这个文件
	loglevel notice                  # 日志级别
	dir /data/6379                   # 配置redis数据存放点  touch/data/6379
	logfile "/data/6379/redis.log"   # 指定日志文件         touch/data/6379/redis.log
	protected-mode yes               # redis3.0之后的安全模式
	requirepass leon123              # 给redis添加密码,登录Redis使用 auth+密码

2.2.2启动 redis 服务

代码语言:javascript
复制
redis-server redis.onf

2.3redis 的多实例功能

代码语言:javascript
复制
# 只要配饰多个 conf 文件即可
# 本质上只是端口不同
# 现在重新配置一个 redis-6366.conf 的配置文件,(文件名自定义)
vim redis-6366.conf ,写入以下内容(不要加上注释)
	port 6366                        # 指定端口
	bind 0.0.0.0                     # 绑定本地 ip
	daemonize yes                    # 后台运行redis
	pidfile /data/6379/redis.pid     # 将redis进程的id写入到redis.pid这个文件
	loglevel notice                  # 日志级别
	dir /data/6366                   # 配置redis数据存放点  touch/data/6366
	logfile "/data/6379/redis.log"   # 指定日志文件         touch/data/6366/redis.log
	protected-mode yes               # redis3.0之后的安全模式
	requirepass leon123              # 给redis添加密码,登录Redis使用 auth+密码

2.3.1启动多 redis 个服务

代码语言:javascript
复制
redis-server redis.onf
redis-server redis-6366.onf
# 即是指定不同的 conf 配置文件实现多个 redis 的启动

2.3.2多个终端登录 redis

代码语言:javascript
复制
# 终端1
redis-cli -p 6376
# 终端2
redis-cli -p 6399

# 通过指定不同的端口来登录不同的 redis 服务
# 多个服务之间彼此不干涉

# 进入 redis 完成之后输入
  auth + 密码   密码就是 conf 文件的 requirepass 的值
  完成登录

2.4redis 的消息发布与监听

代码语言:javascript
复制
# 现有 若干个终端 连接同一个 redis 服务

2.4.1订阅单个频道

代码语言:javascript
复制
# 终端X(订阅者)
    SUBSCRIBE  CCAV    # 代表监听该  CCAV 这个频道的信息
# 终端y(订阅者)
    SUBSCRIBE  CCAV    # 代表也监听该  CCAV 这个频道的信息
# 终端y(发布者)
    PUBLISH   CCAV  'Hello!'  
    # y 在 CCAV 这个频道里发布了一个 'Hello' 信息,此时 x 和 y 均可以收到 'Hello' 
    # 每个终端都可以在这个频道发消息,监听这个频道的人都能收到

2.4.2正则订阅多个频道

代码语言:javascript
复制
# 终端X(订阅者)
    PSUBSCRIBE  CC*              # 代表订阅该  CC* (CC开头的频道)
# 终端y(发布者)
    PUBLISH   CCTV  'Hello!'    # 在 CCTV 频道里面发布一个 'Hello'
# 终端y(发布者)
    PUBLISH   CCAV  '666'        # 在 CCAV 频道里面发布一个 '666'
  
# 此时 x 即可收到 CCTV 的 'Hello' 和 CCAV 的 '666'    

2.5redis持久化之rdb与aof,保存 redis 数据到文件

2.5.1rdb模式

代码语言:javascript
复制
# 启动redis服务端,此时可以设置redis的key,通过save命令触发rdb持久化
代码语言:javascript
复制
1.在配置文件中写入参数,支持rdb模式
vim redis.conf 
	port 6366                        # 指定端口
	bind 0.0.0.0                     # 绑定本地 ip
	daemonize yes                    # 后台运行redis
	pidfile /data/6366/redis.pid     # 将redis进程的id写入到redis.pid这个文件
	loglevel notice                  # 日志级别
	dir /data/6366                   # 配置redis数据存放点  touch/data/6366
	logfile "/data/6379/redis.log"   # 指定日志文件         touch/data/6366/redis.log
	protected-mode yes               # redis3.0之后的安全模式
	requirepass leon123              # 给redis添加密码,登录Redis使用 auth+密码
	
    dbfilename  dbmp.rdb             # 文件目录  /data/6379 
    save  900 1                      # 每 900 秒 1     次修改就保存,自定制
    save  300 10                     # 每 300 秒 10    次修改就保存,自定制
    save  60  10000                  # 每 60  秒 10000 次修改就保存,自定制

2.5.2aof模式

代码语言:javascript
复制
vim redis.conf 
	port 6366                        # 指定端口
	bind 0.0.0.0                     # 绑定本地 ip
	daemonize yes                    # 后台运行redis
	pidfile /data/6379/redis.pid     # 将redis进程的id写入到redis.pid这个文件
	loglevel notice                  # 日志级别
	dir /data/6366                   # 配置redis数据存放点  touch/data/6366
	logfile "/data/6379/redis.log"   # 指定日志文件         touch/data/6366/redis.log
	protected-mode yes               # redis3.0之后的安全模式
	requirepass leon123              # 给redis添加密码,登录Redis使用 auth+密码
	
    dbfilename  dbmp.rdb             # 文件目录  /data/6379 
    save  900 1                      # 每 900 秒 1     次修改就保存,自定制
    save  300 10                     # 每 300 秒 10    次修改就保存,自定制
    save  60  10000                  # 每 60  秒 10000 次修改就保存,自定制

	appendonly yes
    appendfsync everysec             # 文件目录  /data/6379 
代码语言:javascript
复制
2.启动redis-server服务端,默认就会生成appendonly.aof持久化文件
  此时进入redis-cli的操作,都会被记录,且追加到appendonly.aof文件中,以达到持久化的操作
代码语言:javascript
复制
3.redis 持久化方式有哪些?有什么区别?

  rdb:基于快照的持久化,速度更快,一般用作备份,主从复制也是依赖于rdb持久化功能

  aof:以追加的方式记录redis操作日志的文件。可以最大程度的保证redis数据安全,类似于mysql的binlog

2.6RDB数据切换AOF数据的操作

代码语言:javascript
复制
1.准备redis.conf配置文件,确保开启rdb功能,配置参数如下
    port 6379
	daemonize yes
	pidfile /data/redis.pid 
	loglevel notice 
	logfile "/data/redis.log"
	dir /data/  # 规定问价存放目录
	dbfilename  dbmp.rdb  # 规定文件名字
	save  900 1
	save  300 10
	save  60  10000
代码语言:javascript
复制
2.启动redis服务端
	redis-server redis.conf 
代码语言:javascript
复制
3.插入redis数据,通过save命令,强制写入持久化rdb文件(此时还是使用rdb持久化)
    set name leon 
    set age 11
    set hobby girl
    save 
代码语言:javascript
复制
4.通过命令,切换到aof持久化,(注意此步只是临时生效,必须将AOF的配置,写入redis.conf)
    127.0.0.1:6379> CONFIG set appendonly yes   #开启AOF功能
    OK
    127.0.0.1:6379> CONFIG SET save ""  #关闭RDB功能
    OK
代码语言:javascript
复制
5.修改配置文件,添加aof参数,(此步重启后,rdb持久化完全切换aof持久化,且数据保持一致)
	port 6379
	daemonize yes
	pidfile /data/redis.pid 
	loglevel notice 
	logfile "/data/redis.log"
	dir /data/
	appendonly yes
	appendfsync  everysec 
代码语言:javascript
复制
6.重启redis服务

2.7redis主从复制(从机同步备份主机 redis 数据)与主从身份切换(主机从机功能对调)

2.7.1主从复制

代码语言:javascript
复制
1.环境准备3个redis实例,<6381为主,6382,6383为从>
	redis-6381.conf
	redis-6382.conf
	redis-6383.conf
代码语言:javascript
复制
2.三个配置文件的区别,仅仅是端口的不同修改即可
	port 6381/6382/6383...
	daemonize yes
	pidfile /data/6381/redis.pid
	loglevel notice
	logfile "/data/6380/redis.log"
	dbfilename dump.rdb
	dir /data/6381
	protected-mode no
代码语言:javascript
复制
2.启动三个redis实例
	redis-server 6381.conf 
	redis-server 6382.conf 
	redis-server 6383.conf
代码语言:javascript
复制
3.此时可以查看redis身份信息,通过info参数。此时还未配置主从,因此都是master身份
	redis-cli -p 6381 info Replication
	redis-cli -p 6382 info Replication
	redis-cli -p 6383 info Replication
代码语言:javascript
复制
4.配置从节点的身份<6381为主,6382,6383为从>,通过命令指明master节点信息即可

# 设置 6382 为从 6381 的从机	
	127.0.0.1:6382> SLAVEOF 127.0.0.1 6381 

# 设置 6383 为从 6381 的从机
	127.0.0.1:6383> SLAVEOF 127.0.0.1 6381  
代码语言:javascript
复制
5.查看各个各个节点的身份信息
    redis-cli -p 6381 info Replication    主节点  (role:master)
	redis-cli -p 6382 info Replication	  从节点  (role:slave)
	redis-cli -p 6383 info Replication    从节点  (role:slave)

2.7.2主从身份切换

代码语言:javascript
复制
1.将主机的 redis 服务挂掉
	ps -ef | grep redis 
	kill -9 主节点 6381
代码语言:javascript
复制
2.将6382去掉slave从机的身份
	redis-cli -p 6382 slaveof no one
代码语言:javascript
复制
3.将6382设置新的主人,此时从机是6383
	redis-cli -p 6383 slaveof 127.0.0.1 6382 
代码语言:javascript
复制
# 通过配置 6383.conf 文件,给 6383 换主人
4.在配置文件中,添加一条参数即可(主节点不做配置,从节点指明主人的ip端口信息即可)
    port 6383
    daemonize yes
    pidfile /data/6383/redis.pid
    loglevel notice
    logfile "/data/6380/redis.log"
    dbfilename dump.rdb
    dir /data/6383
    protected-mode no
    slaveof 127.0.0.1 6382
代码语言:javascript
复制
5.此时状态
    6381.conf     服务已被手动挂掉(可以启动服务,指定主机,配置与 6383.conf 一样)
    6382.conf     现在为主机
    6383.conf     是 6382 的从机

2.8redis哨兵

2.8.1准备三个 redis 配置文件

代码语言:javascript
复制
# vim
    redis-6381.conf 
    redis-6382.conf
    redis-6383.conf
代码语言:javascript
复制
# 仅仅端口不同
    port 6381
    bind 0.0.0.0
    daemonize yes
    pidfile /data/6381/redis.pid
    loglevel notice
    logfile "/data/6381/redis.log"
    dir /data/6381  
    
    # 其中6383、6383配置文件,端口确保不同,且配置上主从参数
	slaveof 127.0.0.1 6379        

2.8.2启动三个 redis 实例

代码语言:javascript
复制
[root@localhost /opt/redis-4.0.10]#redis-server redis-6381.conf 
[root@localhost /opt/redis-4.0.10]#redis-server redis-6382.conf 
[root@localhost /opt/redis-4.0.10]#redis-server redis-6383.conf 

2.8.3检查身份信息

代码语言:javascript
复制
redis-cli -p 6381 info replication  (master)
redis-cli -p 6382 info replication  (slave)
redis-cli -p 6383 info replication  (slave)

2.8.4准备三个 redis 哨兵配置文件

代码语言:javascript
复制
# vim     
    redis-sentinel-26381.conf
    redis-sentinel-26382.conf
    redis-sentinel-26383.conf      
代码语言:javascript
复制
# 哨兵配置文件,一致,仅有端口区别

	#  Sentinel节点的端口
	port 26381 
	dir /data/26381
	logfile "26381.log"
	daemonize  yes

	#  当前Sentinel节点监控 127.0.0.1:6381 这个主节点
	# 2代表判断主节点失败至少需要2个Sentinel节点节点同意
	# mymaster是主节点的别名
	sentinel monitor mymaster 127.0.0.1 6381 2

	# 每个Sentinel节点都要定期PING命令来判断Redis数据节点和其余Sentinel节点是否可达
	# 如果超过30000毫秒30s且没有回复,则判定不可达
	sentinel down-after-milliseconds mymaster 30000

	# 当Sentinel节点集合对主节点故障判定达成一致时,Sentinel领导者节点会做故障转移操作,选出新的主节点
	# 原来的从节点会向新的主节点发起复制操作,限制每次向新的主节点发起复制操作的从节点个数为1
	sentinel parallel-syncs mymaster 1

	# 故障转移超时时间为180000毫秒
	sentinel failover-timeout mymaster 180000

2.8.5启动三个 redis 哨兵

代码语言:javascript
复制
redis-sentinel redis-sentinel-26381.conf 
redis-sentinel redis-sentinel-26382.conf 
redis-sentinel redis-sentinel-26383.conf
代码语言:javascript
复制
ps -ef | grep redis
    # 三个 redis 实例
    root       2295      1  0 15:02 ?        00:00:00 redis-server 0.0.0.0:6381
    root       2300      1  0 15:02 ?        00:00:00 redis-server 0.0.0.0:6382
    root       2305      1  0 15:02 ?        00:00:00 redis-server 0.0.0.0:6383
    # 三个 redis 哨兵
    root       2314      1  3 15:02 ?        00:00:00 redis-sentinel *:26381 [sentinel]
    root       2319      1  0 15:02 ?        00:00:00 redis-sentinel *:26382 [sentinel]
    root       2324      1  2 15:02 ?        00:00:00 redis-sentinel *:26383 [sentinel]

2.8.6概况

代码语言:javascript
复制
# 如果我们此时结束掉 6381
# 那么 6382 或者 6383 中的一个将自动变成 master
# 如果 6383 变成 master,6382 自动 salveof 6383,conf文件也被自动修改
# 如果再次启动 6381,6381 也将自动 slaveod 6383,conf文件也被自动修改

2.9redis-cluste(redis集群)

2.9.1准备六个配置文件

代码语言:javascript
复制
# 每个配置文件仅仅端口不一样
    -rw-r--r--.  1 root root    135 Apr 14 15:50 redis-7001.conf
    -rw-r--r--.  1 root root    135 Apr 14 15:54 redis-7002.conf
    -rw-r--r--.  1 root root    135 Apr 14 15:54 redis-7003.conf
    -rw-r--r--.  1 root root    135 Apr 14 15:55 redis-7004.conf
    -rw-r--r--.  1 root root    135 Apr 14 15:55 redis-7005.conf
    -rw-r--r--.  1 root root    135 Apr 14 15:55 redis-7006.conf

2.9.2配置文件内容如下

代码语言:javascript
复制
# 每个配置文件仅仅端口不一样
	port 7001
	bind 0.0.0.0
	daemonize yes
	pidfile /data/7001/redis.pid
	loglevel notice
	logfile "/data/7001/redis.log"
	dir /data/7001
	cluster-enabled yes
	cluster-config-file nodes-7000.conf
	cluster-require-full-coverage no

2.9.3启动六个redis实例

代码语言:javascript
复制
# redis-server redis-700x.conf
	root       2776      1  0 16:09 ?        00:00:00 redis-server 0.0.0.0:7001 [cluster]
	root       2781      1  0 16:09 ?        00:00:00 redis-server 0.0.0.0:7002 [cluster]
	root       2786      1  0 16:09 ?        00:00:00 redis-server 0.0.0.0:7003 [cluster]
	root       2791      1  0 16:10 ?        00:00:00 redis-server 0.0.0.0:7004 [cluster]
	root       2802      1  0 16:10 ?        00:00:00 redis-server 0.0.0.0:7005 [cluster]
	root       2807      1  0 16:10 ?        00:00:00 redis-server 0.0.0.0:7006 [cluster]

2.9.4安装配置ruby环境,用于一键搭建redis集群

代码语言:javascript
复制
1.下载源码
	wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
代码语言:javascript
复制
2.解压缩ruby
	tar -xvf ruby-2.3.1.tar.gz
代码语言:javascript
复制
3.编译安装ruby
    ./configure --prefix=/opt/ruby/
    make && make install
代码语言:javascript
复制
4.准备ruby的环境变量
    cp ./bin/ruby   /usr/local/bin
    cp ./bin/gem    /usr/local/bin
代码语言:javascript
复制
5.下载ruby的软件包管理工具
    wget http://rubygems.org/downloads/redis-3.3.0.gem
代码语言:javascript
复制
6.安装ruby操作redis的模块
    gem install -l redis-3.3.0.gem  # 安装ruby操作redis的模块
代码语言:javascript
复制
7.查看ruby语言的包邮哪些
    gem list -- check redis gem
代码语言:javascript
复制
8.配置环境变量redis-trib.rb,用于创建redis-cluster 
    find /opt  -name redis-trib.rb
代码语言:javascript
复制
9.配置环境变量,用于快速执行redis-trib.rb这个命令 
    cp /opt/redis-4.0.10/src/redis-trib.rb    /usr/local/bin
代码语言:javascript
复制
10.启动六个redis实例之后,通过redis-trib.rb命令,一键创建redis-cluster集群功能
    # 其实就是分配槽位,分配主从关系
    # 通过这个命令,创建集群功能
    # 1 代表每个主只有一个从
    # 自动给后面6个节点,分配主从关系,7001、7002、7003是主节点,7004、7005、7006是从节点
    redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
代码语言:javascript
复制
11.完成之后可以查看主从身份信息
    edis-cli -p 7001 info replication     (master)  
    edis-cli -p 7002 info replication     (master)
    edis-cli -p 7003 info replication     (master)
    edis-cli -p 7004 info replication     (slave)
    edis-cli -p 7005 info replication     (slave)
    edis-cli -p 7006 info replication     (slave)
代码语言:javascript
复制
12.redis-cli -p 7001 -c 登录到指定 redis 
    # -c 代表集群方式登录 redis,必须加,不加报错
    # 设置 key 
    # 自动根据哈希规则将 key 对应的值分发到不同的 redis实例 里面
代码语言:javascript
复制
13.在任意节点都可以通过 get 取到 set 的值,即使 key 在不同的 redis实例 里面

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1简介
  • 1.2安装
  • 1.3初始化 MariaDB
  • 1.4配置可远程登录MariaDB
    • 1.4.1权限
      • 1.4.2连接
      • 1.5更改 root 密码
      • 1.6创建新用户zhangsan,密码123
      • 1.7数据库中文设置
      • 1.8数据备份
        • 1.8.1备份数据库
          • 1.8.2恢复数据库文件
          • 1.9数据从库备份主库数据
            • 1.9.1主库的操作如下
            • 2.redis
              • 2.1redis 安装
                • 2.1.1redis 下载
                • 2.1.1解压安装
              • 2.2启动 redis
                • 2.2.1配置 redis.conf
                • 2.2.2启动 redis 服务
              • 2.3redis 的多实例功能
                • 2.3.1启动多 redis 个服务
                • 2.3.2多个终端登录 redis
                • 2.4redis 的消息发布与监听
                • 2.4.1订阅单个频道
                • 2.4.2正则订阅多个频道
              • 2.5redis持久化之rdb与aof,保存 redis 数据到文件
                • 2.5.1rdb模式
                • 2.5.2aof模式
              • 2.6RDB数据切换AOF数据的操作
                • 2.7redis主从复制(从机同步备份主机 redis 数据)与主从身份切换(主机从机功能对调)
                  • 2.7.1主从复制
                  • 2.7.2主从身份切换
                • 2.8redis哨兵
                  • 2.8.1准备三个 redis 配置文件
                  • 2.8.2启动三个 redis 实例
                  • 2.8.3检查身份信息
                  • 2.8.4准备三个 redis 哨兵配置文件
                  • 2.8.5启动三个 redis 哨兵
                  • 2.8.6概况
                • 2.9redis-cluste(redis集群)
                  • 2.9.1准备六个配置文件
                  • 2.9.2配置文件内容如下
                  • 2.9.3启动六个redis实例
                  • 2.9.4安装配置ruby环境,用于一键搭建redis集群
              相关产品与服务
              云数据库 Redis
              腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档