Redis学习 - 复制以及三种部署模式
什么是复制
单机的redis通常情况是无法满足项目需求的,一般都建议使用集群部署的方式进行数据的多机备份和部署,这样既可以保证数据安全,同时在redis宕机的时候,复制也可以对于数据进行快速的修复。
[TOC]
今天学习和总结了一下maven的相关知识点,发现一些比较基础的东西居然也会忘记,这里对于一些日常工作中可能会遇到的问题进行了一下汇总。
一句话概括就是:一个父模块作为版本控制多个子模块,子模块负责接入到父模块当中作为整个项目的过程。
无论面试和工作,持久化都是重点。
一般情况下,redis占用内存超过20GB以上的时候,必须考虑主从多redis实例进行数据同步和备份保证可用性。
rbd保存的文件都是 dump.rdb
,都是配置文件当中的快照配置进行生成的。一般业务情况只需要用rdb即可。
aof默认是不开启的,因为aof非常容易产生大文件,虽然官方提供重写但是在文件体积过大的时候还是容易造成阻塞,谨慎考虑使用
rbd和aof在大数据量分别有各种不同情况的系统性能影响,具体使用何种解决策略需要根据系统资源以及业务的实际情况决定。
1 | wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm |
1 | yum localinstall mysql57-community-release-el7-8.noarch.rpm |
1 | yum repolist enabled | grep "mysql.*-community.*" |
1 | yum install mysql-community-server |
1 | systemctl enable mysqld |
1 | rpm -aq | grep -i mysql |
1 | systemctl restart mysqld |
1 | grep 'A temporary password' /var/log/mysqld.log |
执行上面步骤可以获得mysql初始数据库密码:
1 | 获取到初始密码:.DhtciCJ?3rg |
根据此密码就可以在第一次root登录的时候修改密码
mysqladmin -u root -p'旧密码' password '新密码'
1 | mysqladmin -u root -p 'xxx' password 'xxxxx' |
1 | alter user 'root'@'localhost' identified by '.DhtciCJ?3rg' # 这里用刚刚到随机初始密码 |
这里会可能出现更改失败的问题
方法一:把密码设置复杂点(这是最直接的方法)
方法二:关闭mysql密码强度验证(validate_password)
编辑配置文件:vim /etc/my.cnf, 增加这么一行validate_password=off
编辑后重启mysql服务:systemctl restart mysqld
注意只有root用户才可以操作
具体查看阿里云配置安全组
https://www.cnblogs.com/hoge/p/4958214.html
mysql中添加一个和root一样的用户用于远程连接:
大家在拿站时应该碰到过。root用户的mysql,只可以本地连,对外拒绝连接。
下面语句添加一个新用户administrtor
:
1 | -- 创建新用户 |
删除这个用户:
1 | -- 删除用户 |
0.0.0.0/0
所有ip可访问,如果添加限制可以点击旁面的小叹号。从github上面摘录的一个雪花算法的实现,可以作为学习参考
1 | package com.myapp.cunpleuserapp.util; |