redis参考资料:
https://hedon954.github.io/noteSite/backend/middleware/redis/redis_intro.html
1.MySQL主从配置(在初始化数据之前)
step1:所有主机设置mysql.conf
[mysqld]
server-id=xxx
binlog-do-db=idmesh
datadir=/data/mysql
pid-file=/data/mysql/mysql.pid
step2:在master机器上创建slave用户
mysql -uroot -p'' -e " create user 'slavecopy'@'%' identified by 'xxxx'; "
mysql -uroot -p'' -e " GRANT REPLICATION SLAVE ON *.* to 'slavecopy'@'%'; "
mysql -uroot -p'' -e " FLUSH PRIVILEGES ; "
step3:记录master机器上信息
mysql -uroot -p'' -e "show master status\G ;
binlog_name
binlog_position
step4:将上述信息作为变量放到slave机器中执行
mysql -uroot -p'' -e "CHANGE MASTER TO GET_MASTER_PUBLIC_KEY=1; "
mysql -uroot -p'' -e "change master to master_host='$mysql_master_ip',master_user='slavecopy',master_password='xxx',master_port=3306,master_log_file='$binlog_name',master_log_pos=$binlog_position;"
mysql -uroot -p'' -e "start slave "
mysql -uroot -p'' -e " show slave status\G "
step5:在master机器上载入数据,观察从机
1.Redis集群安装并设置哨兵
1.通用配置文件设置
daemonize yes
bind 0.0.0.0
requirepass $pwd
logfile $dir_log
2.设置配置文件
主节点
echo "pidfile /var/run/redis_6379.pid" >> /etc/redis/6379.conf
echo "slave-read-only yes" >> /etc/redis/6379.conf
echo "slave-priority 100">>/etc/redis/6379.conf
从节点
echo "pidfile /var/run/redis_6379.pid" >> /etc/redis/6379.conf
echo "slave-read-only yes" >> /etc/redis/6379.conf
echo "slave-priority 90">>/etc/redis/6379.conf
echo "slaveof $redis_master_ip 6379" >>/etc/redis/6379.conf
echo "masterauth $middle_password" >>/etc/redis/6379.conf
从节点备份设置
save 900 1
# 开启
appendonly yes
appendfilename "appendonly.aof"
# 重写
auto-aof-rewrite-min-size 64mb
auto-aof-rewrite-percentage 100
# 追加
appendfsync everysec
3.设置sentinel配置文件和服务
port 26379
dir "/etc/redis"
logfile "/var/log/sentinel.log"
daemonize yes
sentinel monitor mymaster 192.168.0.19 6379 2
sentinel down-after-milliseconds mymaster 10000
sentinel failover-timeout mymaster 60000
sentinel auth-pass mymaster *******
[Unit]
Description=Redis
After=network.target
[Service]
ExecStart=/usr/local/bin/redis-sentinel /etc/redis/26379.conf
ExecStop=/bin/kill -s QUIT $MAINPID
Type=forking
User=root
Group=root
[Install]
WantedBy=multi-user.target