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

网站建设可行性报告怎么进入自己网站主机地址

网站建设可行性报告,怎么进入自己网站主机地址,wordpress 后台菜单 层级,河北省住房与城乡建设厅网站文章目录一、为什么要使用主从复制和读写分离二、主从复制的原理三、如何实现主从复制3.1 master配置3.2 slave配置3.3 测试主从复制四、读写分离五、缺点一、为什么要使用主从复制和读写分离 注意到主从复制和读写分离一般是一起使用的。目的很简单#xff0c;就是提高数据库… 文章目录一、为什么要使用主从复制和读写分离二、主从复制的原理三、如何实现主从复制3.1 master配置3.2 slave配置3.3 测试主从复制四、读写分离五、缺点一、为什么要使用主从复制和读写分离 注意到主从复制和读写分离一般是一起使用的。目的很简单就是提高数据库的并发性能。比如说假设是单机读和写都在一台mysql上面完成性能肯定不高如果有三台mysql一台master只负责写操作两台slave负责读操作性能不就可以大大提高了吗。 所以主从复制和读写分离就是为了数据库能支持更大的并发。 随着业务量的扩展如果是单机部署的mysql会导致IO频率过高。采用主从复制和读写分离可以提高数据库的可用性。 二、主从复制的原理 当master节点进行insert, update, delete操作的时候会按照顺序写入binlog中。slave连接master主库master有多少个slave就会创建多少个binlog dump线程。当master节点的binlog发生变化的时候binlog dump线程会通知所有的slave节点并将相应的binlog内容推送给各个slave节点。IO线程接受到binlog内容后将内容写入到本地的relay-log(中继日志)。SQL线程读取IO线程写入的relay-log,并且根据relay-log的内容对slave数据库做相应的操作 请注意master节点和所有的slave节点都有的自己的bin-log。binlog是一个会记录数据库所有操作的二进制数据库从库从relay-log执行的所有操作都会写入到自己的binlog中。 三、如何实现主从复制 假设我们有三台虚拟机。IP分别是104(master)106(slave),107(slave). 预期的架构是一主二从如下图所示 3.1 master配置 //使用命令行进入mysql mysql -u root -p //192.168.0.106是slave从机的IP GRANT REPLICATION SLAVE ON *.* to root192.168.0.106 identified by Java1234; //192.168.0.107是slave从机的IP GRANT REPLICATION SLAVE ON *.* to root192.168.0.107 identified by Java1234; //刷新系统权限表的配置 FLUSH PRIVILEGES;//创建的这两个用户在配置slave从机时要用到 //接下来找到mysql的配置文件/etc/my.cnf增加以下配置 # 开启binlog log-binmysql-bin server-id104 # 需要同步的数据库如果不配置则同步全部数据库 binlog-do-dbtest_db # binlog日志保留的天数清除超过10天的日志 # 防止日志文件过大导致磁盘空间不足 expire-logs-days10 //配置完成后重启mysql service mysql restart//在mysql中可以通过show master status\G;查看当前binlog日志的信息后面有用3.2 slave配置 slave的配置相对会简单一些首先找到/etc/my.conf配置文件增加以下配置 # 不要和其他mysql服务id重复即可 server-id106 #接着使用命令行登录到mysql服务器: mysql -u root -p #进入到mysql中输入以下命令 CHANGE MASTER TO MASTER_HOST192.168.0.104,//主机IP MASTER_USERroot,//之前创建的用户账号 MASTER_PASSWORDJava1234,//之前创建的用户密码 MASTER_LOG_FILEmysql-bin.000001,//master主机的binlog日志名称 MASTER_LOG_POS862,//binlog日志偏移量 master_port3306;//端口#设置完之后启动slave服务 start slave;#启动完之后校验一下是否启动成功: show slave status\G;#可以看到以下信息 **************** 1. row ***************************Slave_IO_State: Waiting for master to send event**Master_Host: 192.168.0.104**Master_User: rootMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000001Read_Master_Log_Pos: 619Relay_Log_File: mysqld-relay-bin.000001Relay_Log_Pos: 782Relay_Master_Log_File: mysql-bin.000001 //binlog日志文件名称Slave_IO_Running: Yes //Slave_IO线程、SQL线程都在运行Slave_SQL_Running: YesMaster_Server_Id: 104 //master主机的服务idMaster_UUID: 0ab6b3a6-e21d-11ea-aaa3-080027f8d623Master_Info_File: /var/lib/mysql/master.infoSQL_Delay: 0SQL_Remaining_Delay: NULLSlave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update itMaster_Retry_Count: 86400Auto_Position: 0另外一个slave的配置也一样在这里不再赘述。 3.3 测试主从复制 在master主机执行sql: CREATE TABLE tb_commodity_info (id varchar(32) NOT NULL,commodity_name varchar(512) DEFAULT NULL COMMENT 商品名称,commodity_price varchar(36) DEFAULT 0 COMMENT 商品价格,number int(10) DEFAULT 0 COMMENT 商品数量,description varchar(2048) DEFAULT COMMENT 商品描述,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT商品信息表;接着我们可以看到两台slave也同步创建了商品信息表: 四、读写分离 在实现完主从复制之后我们还需要实现读写分离master负责写入数据两个slave负责读取数据。实现的方式有很多比如采用Spring AOP的方式去判断输入的mysql语句如果sql语句中包含get,select,query就去连接slave否则就去连接master。 但是通过AOP的方式实现起来代码有点繁琐有没有什么现成的框架呢答案是有的。Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈它由 JDBC、Proxy两部分组成。读写分离就可以使用ShardingSphere-JDBC实现。 项目配置 版本说明 SpringBoot2.0.1.RELEASE druid1.1.22 mybatis-spring-boot-starter:1.3.2 mybatis-plus-boot-starter3.0.7 sharding-jdbc-spring-boot-starter:4.1.1添加sharding-jdbc的maven配置 dependencygroupIdorg.apache.shardingsphere/groupIdartifactIdsharding-jdbc-spring-boot-starter/artifactIdversion4.1.1/version /dependency然后在application.yml添加配置 # 这是使用druid连接池的配置其他的连接池配置可能有所不同 spring:shardingsphere:datasource:names: master,slave0,slave1master:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.0.108:3306/test_db?useUnicodetruecharacterEncodingutf8tinyInt1isBitfalseuseSSLfalseserverTimezoneGMTusername: yehongzhipassword: YHZ1234slave0:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.0.109:3306/test_db?useUnicodetruecharacterEncodingutf8tinyInt1isBitfalseuseSSLfalseserverTimezoneGMTusername: yehongzhipassword: YHZ1234slave1:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.0.110:3306/test_db?useUnicodetruecharacterEncodingutf8tinyInt1isBitfalseuseSSLfalseserverTimezoneGMTusername: yehongzhipassword: YHZ1234props:sql.show: truemasterslave:load-balance-algorithm-type: round_robinsharding:master-slave-rules:master:master-data-source-name: masterslave-data-source-names: slave0,slave1sharding.master-slave-rules是标明主库和从库一定不要写错否则写入数据到从库就会导致无法同步。 load-balance-algorithm-type是路由策略round_robin表示轮询策略。 启动项目可以看到以下信息代表配置成功 五、缺点 尽管主从复制、读写分离能很大程度保证MySQL服务的高可用和提高整体性能但是问题也不少 比如从机是通过binlog日志从master同步数据的如果在网络延迟的情况从机就会出现数据延迟。那么就有可能出现master写入数据后slave读取数据不一定能马上读出来。
http://www.hkea.cn/news/14532848/

相关文章:

  • 腾虎广州网站建设wordpress记录用户搜索
  • 生活类网站内容建设做网站的公司是什么
  • 南昌网站建设行情自动翻译网站软件
  • 企业做网站怎么做纪检网站建设方案
  • 怎么用织梦制作响应式布局网站织梦网站模板教程
  • 深圳网站建设的公网站安装php
  • 图片1600px做网站代理行业门户网站
  • 深圳网站建设企业一台vps可以做几个网站
  • 青海企业网站建设html图标代码大全
  • 学校网站建设培训方案模板廉江网站建设公司
  • 枣庄住房和城乡建设局网站电商网站怎么做搜索
  • 网站做com合net的区别电子商务网站课程设计总结
  • 外贸网站推广平台姓名logo设计在线生成
  • 网站做自己的超链接无锡谁会建商务网站
  • 哪里有做网站平台云南网站设计
  • html5做个网站多少钱视频网站策划
  • 内网 群晖 wordpressseo排名快速优化
  • 做视频找素材的网站有哪些wordpress 文章所属分类
  • 嘉兴网站制作网页做英文网站 是每个单词首字母大写 还是每段落首字母大写
  • 义乌市建设局网站二维码生成器在线制作二维码
  • 设计好 英文网站深圳网站商城建设
  • 保洁公司网站怎么做网站做301跳转需解析
  • thinkphp 网站根目录地址网站建设公司项目介绍
  • 西安网站代维护移动互联网开发的前景
  • 潮州市建设局官方网站手机全部网站
  • 怎样制作网站教程哪家好北京建设网站官网
  • 公司注销的网站备案网站搭建需要服务器吗
  • 怎么做网站外贸网站建设需要的技术设备
  • 做英文网站要多少钱php手机网站如何制作
  • 大丰城乡建设局网站asp.net 做网站源代码