当前位置: 首页 > news >正文

自助建站程序舆情管理

自助建站程序,舆情管理,icp备案网站,北京定制网络营销收费MySQL数据库主从复制和读写分离 。## MySQL主从复制 MySQL主从复制的概念 MySQL主从复制是一个异步的数据复制过程,允许将一个MySQL服务器(主服务器)上的数据复制到一个或多个MySQL服务器(从服务器)。主从复制提供了…

MySQL数据库主从复制和读写分离

。## MySQL主从复制

MySQL主从复制的概念

MySQL主从复制是一个异步的数据复制过程,允许将一个MySQL服务器(主服务器)上的数据复制到一个或多个MySQL服务器(从服务器)。主从复制提供了数据冗余和高可用性,常用于读写分离、负载均衡和备份等场景。

**1主从复制的过程
MySQL主服务器开启二进制日志,MySQL主服务器的dump线程响应从服务器IO线程,从服务器的IO线程会定期检查主服务器的二进制日志是否有新的更新,如果有,它会主动发起请求。从服务器的IO线程请求到了更新的二进制日志后会将二进制日志更新写入中继日志,此时从服务器的SQL线程会读取中继日志并将中继日志中事务执行,并存入硬盘

2支持复制的类型
(1)STATEMENT:基于语句的复制。在服务器上执行sql语句,在从服务器上执行同样的语句,mysql默认采用基于语句的复制,执行效率高。
(2)ROW:基于行的复制。把改变的内容复制过去,而不是把命令在从服务器上执行一遍。
(3)MIXED:混合类型的复制。默认采用基于语句的复制,一旦发现基于语句无法精确复制时,就会采用基于行的复制。

主从复制的部署

部署环境
Master服务器 192.168.20.10
Slave1服务器192.168.20.20
Slave2服务器192.168.20.30
关闭防护墙

systemctl stop firewalld

关闭selinux

setenforce 0

1时间同步
主服务器与从服务器要进行时间同步

主服务器配置
安装时间同步服务

yum install ntp -y
vim /etc/ntp.conf

添加

server 127.127.20.0
fudge 127.127.20.0 stratum 8

在这里插入图片描述

service ntpd start

启动ntpd 服务
从服务器配置

定时进行时间同步

yum install ntp ntpdate -y
service ntpd start
/usr/sbin/ntpdate 192.168.20.10
crontab -e
*/30 * * * * /usr/sbin/ntpdate 192.168.20.10

在这里插入图片描述
在这里插入图片描述
2配置Mysql服务
主服务器

vim /etc/my.cnf
server-id = 1                        服务器id号
log-bin=master-bin              开启主服务器二进制文件
binlog_format = MIXED   	使用MIXED模式
log-slave-updates=true		允许slave从master复制数据时可以写入到自己的二进制日志

在这里插入图片描述

systemctl restart mysqld
mysql -uroot -p123123

给从服务器赋权

GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.20.%' IDENTIFIED BY '123123';
FLUSH PRIVILEGES;

在这里插入图片描述

查看主服务器偏移量

show master status;

在这里插入图片描述
偏移量为1036

从服务器的mysql配置

vim /etc/my.cnf
server-id = 2
relay-log=relay-log-bin
relay-log-index=slave-relay-bin.index
relay_log_recovery = 1 
systemctl restart mysqld.service
CHANGE master to master_host='192.168.20.10',master_user='myslave',master_password='123123',master_log_file='master-bin.000001',master_log_pos=1036;

master_log_file 和 master_log_pos要和查询出来的一样
在这里插入图片描述
启动同步

start slave;

查看同步状态

show slave status\G

在这里插入图片描述

测试
在主MySQL是创建一个新库glcs

create database glcs;

在这里插入图片描述

在这里插入图片描述

读写分离的的搭建

新开一台虚拟主机
192.168.20.40
新机器上安装Amoeba服务
安装Amoeba服务

下载我上传的Amoeba压缩包
解压包

cd /opt/amoeba
tar xfv amoeba-mysql-binary-2.2.0.tar.gz
chmod -R 777 /opt/amoeba
/opt/amoeba/bin/amoeba

输入/opt/amoeba/bin/amoeba以后显示amoeba start|stop则表示安装成功
先在Master、Slave1、Slave2 的mysql上开放权限给 Amoeba 访问

grant all on *.* to test@'192.168.20.%' identified by '123123';

再回到amoeba服务器配置amoeba服务

cd /opt/amoeba/conf/
cp amoeba.xml amoeba.xml.bak
vim amoeba.xml
--30行--
<property name="user">amoeba</property>
--32行-- 
<property name="password">123456</property>
--115行--
<property name="defaultPool">master</property>
--117-去掉注释-
<property name="writePool">master</property>
<property name="readPool">slaves</property>
cp dbServers.xml dbServers.xml.bak
vim dbServers.xml								#修改数据库配置文件
--23行--注释掉  作用:默认进入test库 以防mysql中没有test库时,会报错
<!-- <property name="schema">test</property> -->
--26--修改
<property name="user">test</property>
--28-30--去掉注释
<property name="password">123456</property>
--45--修改,设置主服务器的名Master
<dbServer name="master"  parent="abstractServer">
--48--修改,设置主服务器的地址
<property name="ipAddress">192.168.10.15</property>
--52--修改,设置从服务器的名slave1
<dbServer name="slave1"  parent="abstractServer">
--55--修改,设置从服务器1的地址
<property name="ipAddress">192.168.10.14</property>
--58--复制上面6行粘贴,设置从服务器2的名slave2和地址
<dbServer name="slave2"  parent="abstractServer">
<property name="ipAddress">192.168.10.16</property>
--65行--修改
<dbServer name="slaves" virtual="true">
--71行--修改
<property name="poolNames">slave1,slave2</property>

启动amoeba

/usr/local/amoeba/bin/amoeba start&

测试
客户端

yum install -y mariadb-server mariadb
systemctl start mariadb.service

在客户端服务器上测试:

mysql -u amoeba -p123456 -h 192.168.20.40 -P8066

查询时出现报错则在主服务器上添加
在这里插入图片描述

CREATE USER 'amoeba'@'192.168.20.40' IDENTIFIED BY '123123';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'amoeba'@'192.168.20.40';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;

测试

#在主服务器上
use glcs;
create table test4 (id int(10),name varchar(10),address varchar(20));
#在两台从服务器上
stop slave;											#关闭同步
use glcs;
#在slave1上:
insert into test4 values('1','gh','this_is_slave1');
#在slave2上:
insert into test4 values('2','lo','this_is_slave2');

在这里插入图片描述
在这里插入图片描述

#在主服务器上:
insert into test4 values('3','lx','this_is_master');

在这里插入图片描述
在这里插入图片描述
读写分离成功

http://www.yayakq.cn/news/624500/

相关文章:

  • 网站备案安全责任书是谁盖章下列哪些属于免费的网络营销方式
  • 回力网站建设初衷深圳网站搭建
  • 湖南网站模板建站无锡做网站设计的公司
  • 网站怎么建设的都兰县公司网站建设
  • 长春网站推广排名网站制作时间表
  • 万维网网站备案流程自己做soho需要做网站吗
  • 中国建设银行龙卡网站湖南长沙网页制作公司
  • 昆明智能网站推广价格哪里有国内网站建设公司
  • 比特币网站怎么做企业网站如何做seo
  • 平台搭建阳光房是否违章建筑seo网站推广价格
  • 网站修改后怎么上传关键词网站推广
  • 需要做网站建设和推广北京市建设工程造价管理处 网站
  • 网页制作与网站建设宝典建设网站收费明细
  • 赣州做网站j小游戏开发需要多少钱
  • 二手车辆交易网站如何做网络规划设计师工资
  • 甜点网站开发需求分析山东省建设工程执业资格中心网站
  • 专业网站设计制作价格济南网站建设制作公司推荐
  • 网站服务器证书有问题专门发广告的app
  • 怎样建设自己的物流信息网站免费秒开小游戏
  • 学校网站建设营运预算host wordpress
  • 平凉网站设计怎么搭建个人博客
  • 网站建设开发费会计分录网站速度测速
  • 做软装什么网站可以网站开发一般用哪个浏览器
  • linux 网站服务器搭建安福相册网站怎么做的
  • 旅游网站网页设计图片360建筑网证书估价
  • 苏州网站建设哪家便宜自己开发游戏需要学什么
  • 天津企业网站模板建站哪家好普陀区网站制作
  • 梅河口市住房和城乡建设局网站公园网站建设方案 ppt模板
  • 触屏网站开发教程东莞专业做网站的公司
  • 申请制作网站wordpress头像class