读写分离的设计模式?

在工作当中有的时候会因为数据量大,导致单个数据库已经不足以支撑业务需求,因此常常将数据库的读和写的功能分离开,这样读取数据在一个数据库上,写数据在一个数据库上,就减少了单个数据库的工作,下面就描述一下具体步骤

实验环境
两台虚拟机
安装mysql mariadb mariadb-server
开启服务
systemctl start mariadb
配置远程访问的用户
mysql -uroot -p 进到数据库(root的默认密码为空所以输入命令后直接回车就行)
use mysql
GRANT ALL PRIVILEGES ON . TO ‘wl’@’%'IDENTIFIED BY ‘123’ WITH GRANT OPTION; (设置远程登陆用户wl ,IP为本机IP 密码为123)

主数据库设置:
vim /etc/my.cnf
在[mysqld]标签下面增加以下代码:
server-id=1
log-bin=master-bin
重启服务
systemctl restart mariadb.service

mysql -uroot -p 进到数据库
在主服务器的数据库上查询主服务状态
SHOW MASTER STATUS

这里会出现日志文件的File和position,这个在后面会用的到

从数据库设置
1.用vim打开my.cnf:

vim /etc/my.cnf

2.在[mysqld]标签下面增加以下代码:

server-id=2 #这个id必须不能和主数据库相同
read-only=on #设置该数据库是只读状态
relay-log=relay-bin

重启服务
systemctl restart mariadb.service

进入到数据库
mysql -uroot -p
执行下面语句,
change master to master_host=‘192.168.0.220’,master_user=‘wl’,master_password=‘123’, master_log_file=‘master-bin.000003’,master_log_pos=2077;
(master_host:主数据库IP
master_user:主数据库所设置的远程连接用户名
master_password:主数据库所设置的远程连接密码
master_log_file=‘master-bin.000003’:所生成的二进制日志文件,在上一张图片中有显示)
master_log_pos=2077:二进制日志文件的端口号(上张图片有显示)

启动slave同步(在数据库中)

START SLAVE;

7.在slave服务器上查看slave同步的状态
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值