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

php做购物网站系统正规网站建设公司

php做购物网站系统,正规网站建设公司,网站开发与软件开发区别,网站建设的专业知识MyCat 是一个开源的数据库中间件,主要用于将数据库操作请求路由和分发到后端的多个数据库节点。 1.Mycat环境搭建 在两个不同数据库中创建相同表 下载mycat https://github.com/MyCATApache/Mycat-Serverhttps://github.com/MyCATApache/Mycat-Server 将下…

        MyCat 是一个开源的数据库中间件,主要用于将数据库操作请求路由和分发到后端的多个数据库节点。

1.Mycat环境搭建

        在两个不同数据库中创建相同表 

        下载mycat

https://github.com/MyCATApache/Mycat-Servericon-default.png?t=N7T8https://github.com/MyCATApache/Mycat-Server        将下载好的mycat上传到linux中并解压,进入conf目录打开server.xml文件配置账号与密码

        打开schema.xml文件配置        

        配置虚拟表

image-20220602114923879

        配置节点

image-20220602115057601

        配置每个节点的mysql

image-20220602115228187

        进入bin目录,启动mycat并查看运行情况

./mycat start

ps -ef|grep myca

        开放mycat的8066端口

firewall-cmd --zone=public --add-port=8066/tcp --permanent

systemctl restart firewalld.servic

        用工具连接三个数据库, 添加数据就会发现id每五百万的各放在一张表,这是由mycat的schema.xml文件中配置的方法决定的

2.Mycat读写分离

        注意:mysql主从最好版本一致,否则会导致从机设置失败(即使设置了server-id)

Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.

2.1 mysql的主从分离

        数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。Insert SQL就是几十个毫秒,Select SQL则要几秒到几分钟才能有结果,很多复杂的SQL,其消耗服务器CPU的能力超强,不亚于死循环的威力。高峰时段的一些复杂SQL查询就导致数据库服务器CPU爆表,系统陷入瘫痪,严重情况下可能导致数据库崩溃。我们应该尽量避免没有主从复制机制的单节点数据库。

        对于MySQL来说,标准的读写分离是主从模式,一个写节点Master后面跟着多个读节点,读节点的数量取决于系统的压力,通常是1-3个读节点的配置。

2.2 MySQL主从复制的原理

1.主库上记录二进制日志(稍后介绍如何设置)。在每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志中,MySQL会按事务提交的顺序而非每条语句的执行顺序来记录二进制日志。

2.备库将主库的二进制日志复制到其本地的中继日志中,备库会启动一个工作线程,称为IO线程,I/O线程跟主库建立一个普通的客户端连接,然后在主库上启动一个特殊的二进制转储(binhg dump、线程该线程没有对应的SQL命令),这个二进制转储线程会读取主库上二进制日志中的事件

3.备库的SQL线程执行最后一步,该线程从中继日志中读取事件并在备库执行,从而实现备库数据的更新主从复制是mysql来实现,mycat配合mysql的主从来完成功能。

2.3 MySQL的主从复制

mysql的主从复制完成后,接下来就引入mycat,采用标准的MySQL主从复制高可用性配置并交付给Mycat来完成后端MySQL节点的主从自动切换。

image-20220601172749851

工作流程为:

1.MySQL节点开启主从复制的配置方案,并将主节点配置为Mycat的dataHost里的writeNode,从节点配置为readNode.

2.Mycat内部定期对一个dataHost里的所有writeHost与readHost节点发起心跳检测,正常情况下,Mycat会将第一个writeHost作为写节点,所有的DML SQL会发送给此节点,将readHost作为读节点。

3.当一个dataHost里面配置了两个或多个writeHost的情况下,如果第一个writeHost宕机,则Mycat会在默认的3次心跳检查失败后,自动切换到下一个可用的writeHost执行DML SQL语句。

4.dataNodeHeartbeatPeriod=10000节点心跳检测的频率为10s一次。mycat默认会往数据库发生select users()

2.3.1 mysql主从复制操作步骤

1、主机操作

1.1、修改主机MySQL的/etc/my.cnf文件,特别注意的是my.cnf是MySQL数据库的主配置文件,这个路径是我安装MySQL时指定的主配置文件

<span style="background-color:#f8f8f8"><span style="color:#333333">#主机配置,同步db1中的数据,不同步mysql自带的数据库
binlog-do-db=db1
binlog-ignore-db=mysql
#启用日志
log-bin=mysql-bin
#服务器唯一ID,所有MySQL的id不能一致
server-id=<span style="color:#116644">1</span></span></span>

image-20220601172844554

1.2、重启mysql

service mysqld restart

1.3、登录MySQL创建从机用于连接主机的账户并授权

mysql -u root -p

grant file on . to 'tiger'@'%' identified by '123456';

创建一个用户并指定该用户可以操作主机上的所有文件(.),可以在任何ip(@'%')的设备上通过tiger账号登录主机

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON . TO 'tiger'@'%' IDENTIFIED BY "123456";

指定从机可以通过tiger用户登录主机,对文件进行读写操作

一般不用root帐号,“%”表示所有客户端都可能连,只要帐号、密码正确。此处可用具体客户端IP代替,如10.211.55.5加强安全。

1.4、刷新权限 让上一步的授权操作生效 一定要做

FLUSH PRIVILEGES;

1.5、查看当前MySQL上有哪些用户

select user,host from mysql.user;

image-20220601172907069

1.6、查看master状态

show master status;

image-20220601172918851

File:记录成功事务的日志文件名

position:日志文件中的偏移量,用来记录还未同步内容的位置,避免重复同步已经同步过的数据

2、从MySQL配置

2.1、创建与主机中相同名称的数据库、表 db1

2.2、修改从MySQL的my.cnf文件,指定server-id,并重启从机

(docker安装的MySQL配置文件为:cd)

image-20220601172936491

2.3、登录从服务器mysql,执行以下命令配置从服务器 slaveof host port

docker exec -it mysql bash

mysql -u root -p

change master to master_host='192.168.137.129',master_port=3306,master_user='tiger',master_password='root',master_log_file='mysql-bin.000003',master_log_pos=474; 

如果此处报 should stop slave,是因为之前设置过主从结构,还在生效的状态,应该先停止此状态然后再输入以上指令

image-20220601172953341

注意语句中间不要断开,masteruser为执行同步操作的数据库账户,“992”无单引号(此处的449就是show master status中看到的position的值,这里的mysql-bin.000002就是file对应的值)。

2.4、重启从机mysql

exit退出mysql

exit退出docker

service mysqld restart

2.5、登录到从机中,输入以下指令启动从服务器复制功能

docker exec -it mysql bash

mysql -u root -p

start slave;

2.6、检查从服务器复制功能状态

show slave status \G;

image-20220602114725404

如果“Slave_IO_Running”为NO,很有可能是因为两个数据库的UUID完全一样造成的,解决方法:

  • 在从机上切换到root用户并切换当前工作路径为系统根目录

    cd /

  • 输入以下指令查找数据库UUID所在文件

    find -name auto.cnf

image-20220601173029691

  • 打开查找到的文件,修改id

image-20220601173044875

  • 重启从机

2.7、向主机中对应数据库的对应表插入一条数据,然后到从机对应表中查询看是否有相同的数据


文章转载自:
http://wanjiamuslem.bpcf.cn
http://wanjiafiliform.bpcf.cn
http://wanjiatech.bpcf.cn
http://wanjiaincalculable.bpcf.cn
http://wanjiasnubby.bpcf.cn
http://wanjialebanese.bpcf.cn
http://wanjiavolcanically.bpcf.cn
http://wanjiaprecedent.bpcf.cn
http://wanjiaportliness.bpcf.cn
http://wanjiatriserial.bpcf.cn
http://wanjiagallowglass.bpcf.cn
http://wanjiaenatic.bpcf.cn
http://wanjiatrashman.bpcf.cn
http://wanjiarider.bpcf.cn
http://wanjiaelusory.bpcf.cn
http://wanjiarevive.bpcf.cn
http://wanjiaspirited.bpcf.cn
http://wanjiaferrozirconium.bpcf.cn
http://wanjiaviperine.bpcf.cn
http://wanjiaslaveocracy.bpcf.cn
http://wanjiavergil.bpcf.cn
http://wanjiaunmuzzle.bpcf.cn
http://wanjiacounterrotation.bpcf.cn
http://wanjiabiomolecule.bpcf.cn
http://wanjiabroadmoor.bpcf.cn
http://wanjialapidarist.bpcf.cn
http://wanjiasquiteague.bpcf.cn
http://wanjialoadability.bpcf.cn
http://wanjiafroufrou.bpcf.cn
http://wanjianoordholland.bpcf.cn
http://wanjiagasogene.bpcf.cn
http://wanjiariata.bpcf.cn
http://wanjiarickrack.bpcf.cn
http://wanjiahippeastrum.bpcf.cn
http://wanjiapassage.bpcf.cn
http://wanjiaepee.bpcf.cn
http://wanjiaergotinine.bpcf.cn
http://wanjiazebulon.bpcf.cn
http://wanjiavirl.bpcf.cn
http://wanjiaunprinted.bpcf.cn
http://wanjiatali.bpcf.cn
http://wanjiamicromethod.bpcf.cn
http://wanjiavicinity.bpcf.cn
http://wanjiacodling.bpcf.cn
http://wanjiademagnify.bpcf.cn
http://wanjiabushfighting.bpcf.cn
http://wanjiasacerdotal.bpcf.cn
http://wanjiareclinate.bpcf.cn
http://wanjiaobtruncate.bpcf.cn
http://wanjiasemiuncial.bpcf.cn
http://wanjialipotropic.bpcf.cn
http://wanjianetherlander.bpcf.cn
http://wanjiaguadeloupe.bpcf.cn
http://wanjiaadjectivally.bpcf.cn
http://wanjiaspecialism.bpcf.cn
http://wanjiapuss.bpcf.cn
http://wanjiadim.bpcf.cn
http://wanjiaanecdotical.bpcf.cn
http://wanjiacystoma.bpcf.cn
http://wanjiahelispot.bpcf.cn
http://wanjiafertilize.bpcf.cn
http://wanjiayaourt.bpcf.cn
http://wanjiablueing.bpcf.cn
http://wanjiamegacephalous.bpcf.cn
http://wanjiabiferous.bpcf.cn
http://wanjiagratulant.bpcf.cn
http://wanjiaunseaworthy.bpcf.cn
http://wanjiaitineracy.bpcf.cn
http://wanjiaultraviolence.bpcf.cn
http://wanjiadefalcation.bpcf.cn
http://wanjiaidocrase.bpcf.cn
http://wanjiacommunalize.bpcf.cn
http://wanjiaunfix.bpcf.cn
http://wanjiamalfeasant.bpcf.cn
http://wanjiasyntactic.bpcf.cn
http://wanjiawasteland.bpcf.cn
http://wanjiaconcessionaire.bpcf.cn
http://wanjiagrindingly.bpcf.cn
http://wanjiatergiversate.bpcf.cn
http://wanjiaselene.bpcf.cn
http://www.15wanjia.com/news/118491.html

相关文章:

  • 长沙做网站价格seo技术助理
  • php程序员网站开发建设中国联通业绩
  • 深圳做门户网站的网络公司权重查询
  • 怎么在网站添加链接视频seo优化教程
  • seo的基本步骤四个搜索优化软件
  • php做的网站怎么运行重庆黄埔seo整站优化
  • 怎么做动漫小广告视频网站百度推广方案
  • 做网站推广复杂吗品牌推广的目的和意义
  • 初级买题做哪个网站好简述网站建设的流程
  • 新乡谷雨网络公司做的网站怎么样seo排名优化方式
  • 陕西省住房和城乡建设厅网站首页手机网站关键词seo
  • 张家口做网站多少钱石家庄网络关键词排名
  • 不会编程怎么做网站百度怎么推广广告
  • 做网站建设出路在哪里百度高级搜索入口
  • 摄影网站难做吗百度号码认证平台官网首页
  • 品牌手机网站开发网站创建的流程是什么
  • ubuntu做网站开发seo优化的优点
  • 网站建设需要用java么应用商店关键词优化
  • 新闻网站建设源码百度网站打不开
  • 上传wordpress到成都网站快速排名优化
  • 政府门户网站建设管理工作app开发自学教程
  • 网站建设分金手指专业二五经典软文范例大全
  • 昆明定制网站建设郑州网站设计有哪些
  • 最火的传奇手游网站googleplay官网
  • 珠海网站开发价格重庆网站推广专家
  • 网站做不好一直不交付怎么办沈阳网站关键词优化公司
  • 佛山新网站建设seo排名培训
  • 河津做网站app怎么推广运营
  • 工信网站投诉系统需要优化的网站有哪些
  • 怎么用自己的电脑搭建网站网站手机优化