本文的目的是介绍linuxredis哨兵mysql主从关系等等的详细情况,特别关注redis哨兵和主从的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解linuxred
本文的目的是介绍linux redis哨兵 mysql主从关系 等等的详细情况,特别关注redis哨兵和主从的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解linux redis哨兵 mysql主从关系 等等的机会,同时也不会遗漏关于Linux - redis哨兵集群实例、linux 7 redis 4.0.11 主从复制及哨兵模式、linux centos 7安装redis并且配置主从复制和哨兵模式。一主二从三哨兵、Linux MySQL主从同步失败,报错1594的解决方法_MySQL的知识。
本文目录一览:- linux redis哨兵 mysql主从关系 等等(redis哨兵和主从)
- Linux - redis哨兵集群实例
- linux 7 redis 4.0.11 主从复制及哨兵模式
- linux centos 7安装redis并且配置主从复制和哨兵模式。一主二从三哨兵
- Linux MySQL主从同步失败,报错1594的解决方法_MySQL
linux redis哨兵 mysql主从关系 等等(redis哨兵和主从)
centos7 安装 mariadb
1 yum 源 -- 配置阿里的 (da)
2 rmp 方式
3 源码编译方式 -- 专业DBA
虚拟环境 不影响 Redis/ mariadb
rmp -q mariadb 检测有没装 只能检测通过yum安装的
先workon 虚拟环境,在这个里面打开项目
配置 官方源 1 引入 yum 仓 /etc/yum.repos.d/目录下 手动创建一个 mariadb.repo 写入如下内容 [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 2.此时通过yum安装的软件,都是mariadb官方的了 之后 yum install mariadb-server mariadb 大约103M 3 启动 systemctl start mariadb 服务端 MysqL -uroot -p 默认没密码 4 初始化 会有匿名用户
MysqL_secure_installation 5 修改数据库编码 (\s 直接查看编码信息)
show create database zc; 查看创建库时候的编码问题
修改编码问题 -- vim /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
6 远程连接数据库
创建普通用户 -- create user 用户名@‘%‘ identified by ‘密码‘; 任何地方都能登录
#对用户授权,给予root用户远程登录的权限
#给予root权限,所有的权限,并且可以远程登录 --下面是指令
grant all privileges on *.* to [email protected]"%" identified by "redhat";
#立即刷新授权表 flush privileges;
数据库备份与恢复
MysqLdump 命令用于备份数据库操作:
1.命令
MysqLdump -u root -p --all-databases > /tmp/db.dump
指定ace_crm数据库导出
MysqLdump -uroot -p --database ace_crm > /tmp/ace_crm.dump
#参数 --all-databases 导出所有的数据库
2.导入数据库信息
MysqL -uroot -p < /tmp/db.dump Windows --> linux
#导入数据方式2: MariaDB [(none)]> source /tmp/db.dump
MysqL 主从复制
环境准备 : 一主一从
Linux - redis哨兵集群实例
[TOC]
Linux - redis哨兵集群实例
命令整理
官网地址:http://redisdoc.com/
redis-cli info #查看redis数据库信息
redis-cli info replication #查看redis的复制授权信息
redis-cli info sentinel #查看redis的哨兵信息
配置流程
思路:
redis主从
一主两从的方案
1.环境准备,准备一主两从的redis架构
redis-6379.conf
port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
dir "/opt/redis/6379/"
redis-6380.conf
port 6380
daemonize yes
logfile "6380.log"
dbfilename "dump-6380.rdb"
dir "/opt/redis/6380/"
slaveof 127.0.0.1 6379
redis-6381.conf
port 6381
daemonize yes
logfile "6381.log"
dbfilename "dump-6381.rdb"
dir "/opt/redis/6381/"
slaveof 127.0.0.1 6379
2.准备三个数据文件夹
mkdir -p /opt/redis/{6379,6380,6381}
3。分别启动三个数据库
[root@master sbredis]# redis-server redis-6379.conf
[root@master sbredis]# redis-server redis-6380.conf
[root@master sbredis]# redis-server redis-6381.conf
4.检测主从状态
redis-cli -p 6379 info replication
redis-cli -p 6380 info replication
redis-cli -p 6381 info replication
5.准备三个redis哨兵,进行检测主从状态
准备三个哨兵的配置文件
redis-26379.conf
// Sentinel节点的端口
port 26379
dir /var/redis/data/
logfile "26379.log"
// 当前Sentinel节点监控 192.168.119.10:6379 这个主节点
// 2代表判断主节点失败至少需要2个Sentinel节点节点同意
// mymaster是主节点的别名
sentinel monitor mymaster 192.168.119.10 6379 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
redis-26380.conf
port 7000
daemonize yes
dir "/opt/data"
logfile "7000.log"
dbfilename "dump-7000.rdb"
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-require-full-coverage no
redis-26381.conf
三个配置文件,仅仅是端口的不同,通过命令快速生成配置文件
[root@master sbredis]# sed "s/26379/26380/g" redis-26379.conf > redis-26380.conf
[root@master sbredis]# sed "s/26379/26381/g" redis-26379.conf > redis-26381.conf
6.分别启动三个哨兵
[root@master sbredis]# redis-sentinel redis-26379.conf
[root@master sbredis]# redis-sentinel redis-26380.conf
[root@master sbredis]# redis-sentinel redis-26381.conf
7.检测哨兵,主从状态
redis-cli -p 26379 info sentinel
看到如下信息,就和我一样了
[root@master sbredis]# redis-cli -p 26379 info sentinel
Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=s17ms,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3
8.测验,干掉master redis,是否自动切换
ps -ef|grep redis
kill 进程
..
9.再次启动redis 6379 查看它是否加入 主从集群
redis-server redis-6379.conf
OK~
linux 7 redis 4.0.11 主从复制及哨兵模式
在这里本人的三台机器为
192.168.163.129 (主)
192.168.163.130 (从)
192.168.163.131 (从)
一、将下载好的 redis 版本包上传至服务器
yum -y install gcc automake autoconf libtool make (这里主要的是 gcc)
解压上传的包,并指定路径存放,本文存放为 /usr/local/ 下,可以将解压出来的包改个名,redis-4.0.11 改为 redis
进入 redis 目录下 make && make install (编译安装)
在 redis 目录下 src 目录里有三个文件 redis-cli redis-server redis-sentinel 可以移动到 redis 目录下(启动服务时方便)
主从和哨兵模式主要的配置文件就两个 redis.conf (主从的配置文件) sentinel.conf (哨兵模式的配置文件) 三台机器的这两个文件都要配置
二、首先: 配置主从模式 (这里先配置两台从的)
vim redis-conf
bind 0.0.0.0 (不管之前配置的是啥,都改为这个参数,有注释的就将注释符注销 0.0.0.0 表示允许任何 IP 连接此服务器)
slaveof 192.168.163.129 6379 (标明主的 ip 和端口)
protected-mode no (把保护模式设置为 no,如果这里是 yes,那么修改为 no)
port 6379 (端口号 6379 保持不变)
daemonize yes (这里设置 yes 有的博客设置 no,你会发现服务起不来)
logfile "/usr/local/redis/redis.log" (路径最好也放在这,本主放在其他位置也报错)
requirepass abcdefg (密码自定义,但是三台机器要一致)
masterauth (主的密码,此项为密码验证,如不填主从会不同步)
wq (保存退出)
在 /usr/local/redis/redis/ 下,执行 nohup redis-server redis.conf >myout.file 2>&1 &
配置主的方法同上,只不过 redis.conf 中不需要配置 slaveof 这项。然后也启动服务,方法同上。
进行查看是否同步成功,在主上操作
redis-cli
> auth abcdefg
> set name kk
然后在从上查询
redis-cli
> auth abcdefg
> get name
''kk''
说明配置主从成功,如有不通请关闭防火墙或者 selinux
三、接下来配置哨兵模式 三台机器还是一样 ,配置 sentinel.conf ,配置过后重启。
vim sentinel.conf
bind 0.0.0.0
port 26379
protected-mode no
# Generated by CONFIG REWRITE
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 192.168.163.129 6379 2 (主的 ip 和端口)
sentinel down-after-milliseconds mymaster 60000
sentinel auth-pass mymaster abcdefg
sentinel config-epoch mymaster 2528
sentinel leader-epoch mymaster 2529
sentinel known-slave mymaster 192.168.163.130 6379 (从的 ip 和端口)
sentinel known-slave mymaster 192.168.163.131 6379(从的 ip 和端口)
sentinel known-sentinel mymaster 192.168.163.129 26379
sentinel current-epoch 2529
wq
启动哨兵服务 在 /usr/local/redis/redis/ 下,nohup redis-sentinel sentinel.conf >myout.file 2>&1 & (这条语句是将命令放到后台执行)
查看 ps -ef | grep redis
root 5818 1 0 09:30 ? 00:01:29 redis-server 0.0.0.0:6379
root 6138 2319 0 10:50 pts/0 00:01:36 redis-sentinel *:26379 [sentinel]
root 6825 6667 0 13:53 pts/1 00:00:00 grep --color=auto redis
启动成功
四、这时我们测试下,在主上进行
kill -9 5818 (关掉 redis 进程)
然后看在两个从上是否选举出新的主,在从上执行
redis-cli
> auth abcdefg
> info
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.163.130,port=6379,state=online,offset=370877,lag=0
master_replid:98aa0e1b122df167386398d83155fff94c404368
master_replid2:a129e74f75f68e683915b4f7ee3ea5236874da78
master_repl_offset:370877
second_repl_offset:243123
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:370877
说明选举成功。
如果这两个文件配置的没有问题,基本上都能搭建成功,如果配置文件里没有以上配置,可以在配置文件里写进去。注意:配置所有 redis.conf 的文件,都要配置 masterauth (密码验证)。
linux centos 7安装redis并且配置主从复制和哨兵模式。一主二从三哨兵
1、VMware准备三台虚拟机(不会安装的自行百度,再次不做赘述),我的配置如图。三台虚拟机(centos 7),IP分别为192.168.124.19,192.168.124.20,192.168.124.21,其中20作为master(主服务器)。19和21为slave(从服务器)。主服务器可以读写,从服务器只读不能写。三台服务器上分别安装redis,我的redis版本为4.0.11
tar xzvf redis-4.0.11.tar.gz
cd redis-4.0.11
make
make install
安装gcc
yum -y install gcc automake autoconf libtool make
2、redis安装好了之后,三台服务器分别把相关的文件拷贝到/usr/redis目录下。先新建此目录,然后在redis安装目录下的src目录下面复制redis-server、redis-cli、redis-benchmark三个文件到/usr/redis。再从redis安装目录下复制redis.conf、sentinel.conf两个文件到/usr/redis目录下面。复制完之后,/usr/redis文件夹目录如下,只有这5个文件
3、进入到/usr/redis目录,修改两个从服务器(也就是192.168.124.19,192.168.124.21这两个)的redis.conf文件
# bind 127.0.0.1 #把这一行注释掉
protected-mode no # 把保护模式设置为no,如果这里是yes,那么修改为no
port 6379 #端口号6379保持不变
daemonize no #这里修改为no,表示redis服务可以后台运行
slaveof 192.168.124.20 6379 #由于是从服务器,所以要配置其主服务器,配置格式:slaveof 主IP 主端口号
4、修改主服务器(192.168.124.20)的redis.conf文件,因为是主服务器,所以不配置slaveof,其他相同
# bind 127.0.0.1 #把这一行注释掉
protected-mode no # 把保护模式设置为no,如果这里是yes,那么修改为no
port 6379 #端口号6379保持不变
daemonize no #这里修改为no,表示redis服务可以后台运行
5、关于redis的其他配置可以参考这个博客 https://www.cnblogs.com/zxtceq/p/7676911.html
6、修改完了配置之后,可以挨个启动redis服务。这里启动一点要带上redis.conf,否则的话,redis会用默认配置,那刚才配置的就没用了,所以要带上redis.conf
redis-server redis.conf
这时候三个服务器的redis服务就已经全部启动了,可以用info命令查看redis信息
redis-cli info
先看主服务器192.168.124.20,如图。可以看到角色role是master,也就是主服务器,有两个slave,slave0和slave1,说明配置正确
再看从服务器的信息info,在从服务器上执行redis-cli info命令,如图。可以看到角色role是slave,也就是从服务器。master_link_status:up这说明主服务状态正在运行,这里如果为down,那可能是主机的防火墙的原因,可以关闭防火墙,systemctl stop firewalld
7、试一试redis的读写,在主服务器上面可以写,也就是set,在20上面执行,可以读可以写
在从服务器上,19上面,可以看到没有写的权限,只有读的权限。可以在 主服务器上面写,然后在从服务器上面读取
8、到此,redis的主从复制已经搭建完成,然后再搞一下哨兵。其实哨兵也就是一个进程,用来监视这个redis集群。这里遵从一主二从三哨兵模式。这里有三台主机192.168.124.19,192.168.124.20,192.168.124.21,可以在这上面分别启动一个哨兵进程。注意:哨兵进程和redis进程没有关系,可以在一台主机上面启动。(最开始学这里的时候我也是懵逼的,后来懂的),还记得开始的时候拷贝的几个文件么,其中有一个就是sentinel.conf ,这个文件就是哨兵的配置文件。三个哨兵监控这个redis集群,如果主服务器挂了,那么三个哨兵就从从服务器里选一台作为主服务器,选举机制一会在配置文件里面表明。
9、三台服务器上的哨兵配置相同的,这里写一个,其他两个都一样的,修改配置文件sentinel.conf
protected-mode no #关闭保护模式
port 26379 #端口号
dir "/tmp" #目录
sentinel parallel-syncs mymaster 1 #故障迁移的时候,复制的从服务器的个数
sentinel failover-timeout mymaster 180000 #故障迁移所需时间,也就是主服务器挂了之后,选举新服务器的时间,如果这个时间还没能选举出来,那么就算选举失败
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 192.168.124.20 6379 2 #这个是指哨兵监视哪个redis集群,这里监视的是192.168.124.20,6379是端口号,最后的2表示,如果主服务器挂了,3个哨兵中有2个投票选新的服务器,那么就可以进行故障迁移,选出了新的服务器
sentinel down-after-milliseconds mymaster 3000 #sentinel认为“主线下线”的一个阀值。
10、挨个启动哨兵模式,哨兵之间也是相互监控的
redis-server sentinel.conf --sentinel &
11、这是,哨兵模式就已经启动了,这时候就可以监视redis集群了,如果主服务器挂了之后就可进行故障转移了,现在模拟主服务器挂掉,在20上执行,redis-cli shutdown,手动挂掉主服务器,如图
可以看到,+switch,选了一个新的主服务器,也就是19.这时候看一看19的信息info如图,19role为master,有一个从服务器21
试一试写操作,是可以的
看一看21的info,主服务器变为19
12、再重新启动挂掉的20,之后再看看19的info,有两个slave,20和21.很成功。nice
Linux
安装完redis单独用命令:
redis-server
报错:
-bash: redis-server: command not found
说明redis-server不是全局命令,那么假如到全局即可:
假如我的redis安装路径是:/home/prod/redis/redis-4.0.8
ln -s /home/prod/redis/redis-4.0.8/src/redis-server /usr/bin/redis-server
将
redis-server
放到/usr/bin下即可(相当于创建一个全局快捷方式)
---------------------
作者:Mr.True
来源:CSDN
原文:https://blog.csdn.net/q258523454/article/details/81012518
版权声明:本文为博主原创文章,转载请附上博文链接!
Linux MySQL主从同步失败,报错1594的解决方法_MySQL
bitsCN.com
分析主要原因是因为断电,所以引起读 binlog 出错,根据网上一些资料,修复的方法是: 1 stop slave; 2 change master to3 master_host=''192.168.1.251'', 4 master_user=''repl'', 5 master_password=''password'', 6 master_log_file=''mysql-bin.000004'', 7 master_log_pos=2207467; 8 start slave;这样就修复 OK 了.上面的同步文件和同步点 pos 是日志中报错上次记录的位置. 作者 php-oa bitsCN.com
关于linux redis哨兵 mysql主从关系 等等和redis哨兵和主从的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Linux - redis哨兵集群实例、linux 7 redis 4.0.11 主从复制及哨兵模式、linux centos 7安装redis并且配置主从复制和哨兵模式。一主二从三哨兵、Linux MySQL主从同步失败,报错1594的解决方法_MySQL等相关知识的信息别忘了在本站进行查找喔。
本文标签: