seventh_mariadb主从复制和redis

 

1.前言:关于部分人不断需要访问其它机器交互测试的情况,以下是Linux虚拟环境下双开两个不同ip虚拟环境的方法

# 先将原有的虚拟环境关机(当然你可以用一个全新的,我习惯用旧的)
# 拍摄快照并克隆,选择完全克隆,此时登陆克隆体是跟本体一摸一样,所以的安装包也不需要再从新安装,这时候网段ip是一样的(也可能不是)
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 在下面添加如下内容即可
IPADDR=192.168.1.333
NETMASK=255.255.255.0
GATEWAY=192.168.1.333
DNS1=8.8.8.8
# 注意,网段会有最大值,如250,不过你填超了系统会自动找一个合适的给你,随后重启网络即可

2.mariadb主从表

# 准备两个数据库服务器
# 主:192.168.1.55
# 从:192.168.1.122
# 主服务器上的操作
# 停止主服务器mariadb数据库服务
systemctl stop mariadb

# 修改主服务器配置文件 /etc/my.cnf
[mysqld]
server-id=1  # 这个是id,数字多少都行
log-bin=qishi-logbin  # 这个主服务器的log-bin名字,起什么都行,然后启动mariadb

# 新建用于主从同步用户hf,允许登陆的从库是'192.168.1.122'
create user 'hf'@'%' identified by 'hf666';
# 给从库账号授权,说明给从库复制的权限
grant replication slave on *.* to 'hf'@'%';

# 检查主库创建的账号
select user,host from mysql.user;
# 为防止数据写入,数据复制失败,进行主数据库锁库
flush table with read lock;
# 检查主库的状态,并记录下日志文件的名字,和位置
show master status;

# 锁表后,单独打开一个SSH窗口,导出数据库的所有数据
mysqldump -u root -p --all-databases > /opt/masterdb.sql  # 将主数据库所有数据
打包到opt目录下

scp /opt/masterdb.sql 192.168.1.122:/opt/  # 将主数据拷贝到从库的opt下
# 从库上的操作
systemctl stop mariadb  # 关闭从库数据库服务
# 打开/etc/my.cnf 并配置
[mysqld]
server-id=6  # 这是id,随便起
read-only=true   # 这是限制从库只能读的操作,然后重启数据库

mysql -u root -p  # 登陆mysql
source /opt/masterdb.sql  # 将主库传过来的数据库文件,导入

# 配置一下参数,即可主从连接
mysql > change master to master_host='192.168.1.55',  # 连接主表
master_user='hf',  # 用户
master_password='hf666',  # 密码
master_log_file='qishi-logbin.000002',  # show master status的file
master_log_pos=586;  # show master status的position

start slave  # 启动从库的同步开关
show slave status\G;  # 查看状态,如果看到Slave_IO_Running和Slave_SQL_Running这两个参数都为yes, 说明主从同步配置成功,否则需要检查并重新配置

 

# 如果从库上面的普通用户无法登陆,则在主库重新再创建一个
# 用主库写和从库的各种操作验证是否读写分离

3.redis 初识

wget http://download.redis.io/releases/redis-4.0.10.tar.gz  # 1.下载redis源码

tar -zxf redis-4.0.10.tar.gz  # 2.解压缩

cd redis-4.0.10  # 3.切换redis源码目录

make &&  make install   # 4.编译并安装源文件,默认在/usr/local/bin

mkdir /opt/redis_conf  # 5.在/opt下创建一个专门用来存放redis配置文件的目录

vim redis-6379.conf   # 进入/opt/redis_conf目录下

port 6379                         # 运行在6379的redis数据库实例
daemonize yes                     # 后台运行redis  
pidfile /data/6379/redis.pid      # 存放redis pid的文件
loglevel notice                   # 日志等级
logfile "/data/6379/redis.log"    # 指定redis日志文件的生成目录
dir /data/6379                    # 指定redis数据文件夹的目录
protected-mode yes                # 安全模式
# requirepass   haohaio           # 设置redis的密码
 
redis-server /opt/redis_conf/redis-6379.conf  # 启动redis服务

 

posted @ 2019-04-08 19:02  pythonernoob  阅读(135)  评论(0)    收藏  举报