Cobar部署与测试


原文出自  http://www.abcdocker.com/abcdocker/84

Cobar部署与测试

一、Cobar介绍

1.1功能概述:

Cobar是关系型数据的分布式处理系统,它可以在分布式的环境下看上去像传统数据库一样为您提供海量数据服务。

1.1.1 Cobar核心功能:

Ø  分布式:Cobar的分布式主要是通过将表放入不同的库来实现:

1. Cobar支持将一张表水平拆分成多份分别放入不同的库来实现表的水平拆分。

2. Cobar也支持将不同的表放入不同的库。

3. 多数情况下,用户会将以上两种方式混合使用这里需要强调的是,Cobar不支持将一张表,例如test表拆分成test_1, test_2, test_3…..放在同一个库中,必须将拆分后的表分别放入不同的库来实现分布式。

 

Ø  HA:

在用户配置了MySQL心跳的情况下,Cobar可以自动向后端连接的MySQL发送心跳,判断MySQL运行状况,一旦运行出现异常,Cobar可以自动切换到备机工作。但需要强调的是:

1. Cobar的主备切换有两种触发方式,一种是用户手动触发,一种是Cobar的心跳语句检测到异常后自动触发。那么,当心跳检测到主机异常,切换到备机,如果主机恢复了,需要用户手动切回主机工作,Cobar不会在主机恢复时自动切换回主机,除非备机的心跳也返回异常。

2. Cobar只检查MySQL主备异常,不关心主备之间的数据同步,因此用户需要在使用Cobar之前在MySQL主备上配置双向同步,详情可以参阅MySQL参考手册。

1.1.2 Cobar的注意事项

1.请注意表的拆分方式,一张表水平拆分多份到不同的库中,而不是放入同一个库中。

2.如果使用HA功能,请在MySQL主备之间配置双向同步

1.1.3目录结构

1.1.3.1基本目录

解压cobar安装包后,可以看到以下目录:

bin #包含Cobar的启动、重启、停止等脚本文件

conf #包含Cobar所有配置文件

lib #包含Cobar及其依赖的jar文件

logs #包含Cobar所有日志文件

1.1.3.2启动脚本

Cobar的所有启动停止脚本全部放在bin目录中,进入bin目录,可以看到:

startup.sh   #Linux环境启动脚本

startup.bat  #Windows环境启动脚本

restart.sh     #Linux环境重启脚本

shutdown.sh  #Linux环境停止脚本

1.1.3.3配置文件

Cobar的所有配置文件全部放在conf目录中,进入conf目录,可以看到:

  1. server.xml    #Cobar系统、用户、集群等相关配置
  2. rule.xml      #分布式规则定义
  3. log4j.xml     #日志相关配置
  4. schema.xml   #schema,dataNode,dataSource相关配置,其中:
  5. dataSource:数据源,表示一个具体的数据库连接,与一个物理存在的schema一一对应。
  6. dataNode:数据节点,由主、备数据源,数据源的HA以及连接池共同组成,可以将一个dataNode理解为一个分库。
  7. schema:cobar可以定义包含拆分表的schema(如schema1),也可以定义无拆分表的schema(如schema2)。
1.1.3.4配置文件详解:

略!请见官方文档!!!

二、Cobar配置及安装

下面我们将使用一个最简单的分库分表的例子来说明Cobar的基本用法,数据库schema如下图(该实例也可参考:Cobar产品首页)。

http://www.reader8.cn/uploadfile/jiaocheng/20140149/2854/2014012803542143106.jpg

1.系统对外提供的数据库名是dbtest,并且其中有两张表tb1和tb2。

2.tb1表的数据被映射到物理数据库dbtest1的tb1上。

3.tb2表的一部分数据被映射到物理数据库dbtest2的tb2上,另外一部分数据被映射到物理数据库dbtest3的tb2上。

2.1环境准备

  1. 操作系统:Linux Centos6.7
  2. MySQL:5.5.49版本
  3. JDL:jdk-8u60-linux-x64.tar
  4. Cobar:cobar-server-1.2.7.tar

2.2分布式环境部署

(1)提前安装mysql,并提前在mysql /data/3306实例创建dbtest1库与tb1表,dbtest2库与tb2表,dbtest3库与tb2表,并且授权。

  1. mysql -uroot -poldboy123 -S /data/3306/mysql.sock
  2. mysql> grant all privileges on *.* to 'cobar'@'172.16.1.%' identified by 'oldboy123';
  3. mysql> flush privileges;
  4. create database dbtest1;
  5. create database dbtest2;
  6. create database dbtest3;
  7. use dbtest1;
  8. create table tb1(
  9. id int(4) not null,
  10. name char(20) not null,
  11. age tinyint(2) NOT NULL default '0',
  12. dept varchar(16) default NULL,
  13. primary key(id),
  14. KEY index_name(name)
  15. );
  16. use dbtest2;
  17. create table tb2 (
  18. id int(4) NOT NULL,
  19. name char(20) NOT NULL,
  20. PRIMARY KEY (id)
  21. );
  22. use dbtest3;
  23. create table tb2 (
  24. id int(4) NOT NULL,
  25. name char(20) NOT NULL,
  26. PRIMARY KEY (id)
  27. );

上传jdk和cobar的gz包到/home/oldboy/tools

(2)配置java环境

  1. cd /application/tools/
  2. tar xf jdk-8u60-linux-x64.tar.gz -C /application/
  3. ln -s /application/jdk1.8.0_60 /application/jdk
  4. sed -i.ori '$a export JAVA_HOME=/application/jdk\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
  5. source /etc/profile

(3)配置cobar环境

  1. cd /home/oldboy/tools
  2. tar xf cobar-server-1.2.7.tar.gz
  3. cp -a cobar-server-1.2.7 /application/
  4. mv /application/cobar-server-1.2.7 /application/cobar
  5. cd /application/cobar/
  6. cd conf

(4)配置cobar配置文件

1.配置schema.xml文件

  1. [root@db02 conf]# cat schema.xml
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <!--
  4.  - Copyright 1999-2012 Alibaba Group.
  5.  - 
  6.  - Licensed under the Apache License, Version 2.0 (the "License");
  7.  - you may not use this file except in compliance with the License.
  8.  - You may obtain a copy of the License at
  9.  - 
  10.  -      http://www.apache.org/licenses/LICENSE-2.0
  11.  - 
  12.  - Unless required by applicable law or agreed to in writing, software
  13.  - distributed under the License is distributed on an "AS IS" BASIS,
  14.  - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15.  - See the License for the specific language governing permissions and
  16.  - limitations under the License.
  17. -->
  18. <!DOCTYPE cobar:schema SYSTEM "schema.dtd">
  19. <cobar:schema xmlns:cobar="http://cobar.alibaba.com/">
  20.  
  21.   <!-- schema定义 -->
  22.   <schema name="dbtest" dataNode="dnTest1">  #这条规则意思是dbtest主要映射的是dnTest1库,也就是下面172.16.1.52:3306/dbtest1库
  23.     <table name="tb2" dataNode="dnTest2,dnTest3" rule="rule1" />  #tb2表则是按照规则rule1,被分配到dnTest2库(即172.16.1.52:3306/dbtest2库)和dnTest3库(即172.16.1.52:3306/dbtest3库)中
  24.   </schema>
  25.  
  26.   <!-- 数据节点定义,数据节点由数据源和其他一些参数组织而成。-->
  27.   <dataNode name="dnTest1"> 
  28.     <property name="dataSource">
  29.       <dataSourceRef>dsTest[0]</dataSourceRef>
  30.     </property>
  31.   </dataNode>
  32.   <dataNode name="dnTest2">
  33.     <property name="dataSource">
  34.       <dataSourceRef>dsTest[1]</dataSourceRef>
  35.     </property>
  36.   </dataNode>
  37.   <dataNode name="dnTest3">
  38.     <property name="dataSource">
  39.       <dataSourceRef>dsTest[2]</dataSourceRef>
  40.     </property>
  41.   </dataNode>
  42.  
  43.   <!-- 数据源定义,数据源是一个具体的后端数据连接的表示。-->
  44.   <dataSource name="dsTest" type="mysql">
  45.     <property name="location">
  46.       <location>172.16.1.52:3306/dbtest1</location>  #数据库的IP和端口号
  47.       <location>172.16.1.52:3306/dbtest2</location>
  48.       <location>172.16.1.52:3306/dbtest3</location>
  49.     </property>
  50.     <property name="user">cobar</property>  #数据库给cobar的用户名
  51.     <property name="password">oldboy123</property>  #数据库给cobar的密码
  52.     <property name="sqlMode">STRICT_TRANS_TABLES</property>
  53.   </dataSource>
  54.  
  55. </cobar:schema>

2.配置rule.xml文件

  1. [root@db02 conf]# cat rule.xml
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <!--
  4.  - Copyright 1999-2012 Alibaba Group.
  5.  - 
  6.  - Licensed under the Apache License, Version 2.0 (the "License");
  7.  - you may not use this file except in compliance with the License.
  8.  - You may obtain a copy of the License at
  9.  - 
  10.  -      http://www.apache.org/licenses/LICENSE-2.0
  11.  - 
  12.  - Unless required by applicable law or agreed to in writing, software
  13.  - distributed under the License is distributed on an "AS IS" BASIS,
  14.  - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15.  - See the License for the specific language governing permissions and
  16.  - limitations under the License.
  17. -->
  18. <!DOCTYPE cobar:rule SYSTEM "rule.dtd">
  19. <cobar:rule xmlns:cobar="http://cobar.alibaba.com/">
  20.  
  21.   <!-- 路由规则定义,定义什么表,什么字段,采用什么路由算法 -->
  22.   <tableRule name="rule1">
  23.     <rule>
  24.       <columns>id</columns>
  25.       <algorithm><![CDATA[ func1(${id}) ]]></algorithm>
  26.     </rule>
  27.   </tableRule>
  28.  
  29.   <!-- 路由函数定义 -->
  30.   <function name="func1" class="com.alibaba.cobar.route.function.PartitionByLong">
  31.     <property name="partitionCount">2</property>  #需要注意的就是这两行,对数据库插入大于512的会存储至dnTest3对应的库表中
  32.     <property name="partitionLength">512</property>
  33.   </function>
  34.  
  35. </cobar:rule>
  36. 3.配置server.xml文件
  37. [root@db02 conf]# cat server.xml
  38. <?xml version="1.0" encoding="UTF-8"?>
  39. <!--
  40.  - Copyright 1999-2012 Alibaba Group.
  41.  - 
  42.  - Licensed under the Apache License, Version 2.0 (the "License");
  43.  - you may not use this file except in compliance with the License.
  44.  - You may obtain a copy of the License at
  45.  - 
  46.  -      http://www.apache.org/licenses/LICENSE-2.0
  47.  - 
  48.  - Unless required by applicable law or agreed to in writing, software
  49.  - distributed under the License is distributed on an "AS IS" BASIS,
  50.  - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  51.  - See the License for the specific language governing permissions and
  52.  - limitations under the License.
  53. -->
  54. <!DOCTYPE cobar:server SYSTEM "server.dtd">
  55. <cobar:server xmlns:cobar="http://cobar.alibaba.com/">
  56.  
  57.   <!-- 系统参数定义,服务端口、管理端口,处理器个数、线程池等。 -->
  58.   <!--
  59.   <system>
  60.     <property name="serverPort">8066</property>
  61.     <property name="managerPort">9066</property>
  62.     <property name="initExecutor">16</property>
  63.     <property name="timerExecutor">4</property>
  64.     <property name="managerExecutor">4</property>
  65.     <property name="processors">4</property>
  66.     <property name="processorHandler">8</property>
  67.     <property name="processorExecutor">8</property>
  68.     <property name="clusterHeartbeatUser">_HEARTBEAT_USER_</property>
  69.     <property name="clusterHeartbeatPass">_HEARTBEAT_PASS_</property>
  70.   </system>
  71.   -->
  72.  
  73.   <!-- 用户访问定义,用户名、密码、schema等信息。 -->
  74.   <user name="cobar">
  75.     <property name="password">oldboy123</property>
  76.     <property name="schemas">dbtest</property>
  77.   </user>
  78.   <!--
  79.   <user name="root">
  80.     <property name="password">oldboy123</property>
  81.   </user>
  82.   -->
  83.  
  84.   <!-- 集群列表定义,指定集群节点的主机和权重,用于集群间的心跳和客户端负载均衡。 -->
  85.   <!--
  86.   <cluster>
  87.     <node name="cobar1">
  88.       <property name="host">127.0.0.1</property>
  89.       <property name="weight">1</property>
  90.     </node>
  91.   </cluster>
  92.    -->
  93.   
  94.   <!-- 隔离区定义,可以限定某个主机上只允许某个用户登录。 -->
  95.   <!--
  96.   <quarantine>
  97.     <host name="1.2.3.4">
  98.       <property name="user">test</property>
  99.     </host>
  100.   </quarantine>
  101.   -->
  102.  
  103. </cobar:server>
  104. #这里定义的帐号密码就是命令行登录数据库的帐号密码

登录命令:

  1. mysql -ucobar -poldboy123 -h172.16.1.52 -P8066

上面的说明:用户就是server.xml定义的用户cobar,密码也是配置文件里面的密码,cobar是用8066端口登录的,这个也是启用的java进程的端口号。

2.3分库分表测试阶段

  1. 启动cobar:
  2. /application/cobar/bin/startup.sh
  3. 查看启动结果:
  4. [root@db02 conf]# ps -ef|grep cobar
  5. root     10219     1  0 18:17 ?        00:00:16 /application/jdk/bin/java -Dcobar.home=/application/cobar -classpath /application/cobar/conf:/application/cobar/lib/classes:/application/cobar/lib/cobar-server-1.2.7.jar:/application/cobar/lib/log4j-1.2.16.jar -server -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+UseFastAccessorMethods -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 com.alibaba.cobar.CobarStartup
  6. root     10251     1  0 18:47 ?        00:00:00 grep --color=auto cobar
  7. [root@db02 conf]# netstat -tulnap |grep 8066
  8. tcp6       0      0 :::8066                 :::*                    LISTEN      10219/java
  9. 使用cobar登录,简单测试一下:
  10. [root@db02 conf]# mysql -ucobar -poldboy123 -h172.16.1.52 -P8066
  11. 进入数据库执行测试操作:
  12. mysql> show databases;
  13. +----------+
  14. | DATABASE |
  15. +----------+
  16. | dbtest   |
  17. +----------+
  18. mysql> use dbtest;
  19. Database changed
  20. mysql> show tables;
  21. +------------------+
  22. | Tables_in_dbtest |
  23. +------------------+
  24. | tb2              |
  25. | tb1              |
  26. +------------------+
  27. mysql> insert into tb2(id,name) values(55,'oldgirl');  
  28. mysql> insert into tb2(id,name) values(520,'oldboy');    #520大于512,因此会被存储到3306实例的dbtest3库的tb2表下
  29. mysql> quit
  30. 然后进入3306实例里面查看:
  31. [root@db02 conf]# mysql -uroot -poldboy123 -S /data/3306/mysql.sock
  32. mysql> show databases;
  33. +--------------------+
  34. | Database           |
  35. +--------------------+
  36. | information_schema |
  37. | dbtest             |
  38. | dbtest1            |
  39. | dbtest2            |
  40. | dbtest3            |
  41. | mysql              |
  42. | oldboy             |
  43. | performance_schema |
  44. +--------------------+
  45. mysql> use dbtest3
  46. Database changed
  47. mysql> show tables;
  48. +-------------------+
  49. | Tables_in_dbtest3 |
  50. +-------------------+
  51. | tb2               |
  52. +-------------------+
  53. mysql> select * from tb2;
  54. +-----+--------+
  55. | id  | name   |
  56. +-----+--------+
  57. | 520 | oldboy |
  58. +-----+--------+
  59. 果然只有520存储到3306实例的dbtest3库的tb2表下

 

添加一个实例测试:

  1. 启动新实例:
  2. [root@db02 conf]# data/3308/mysql start
  3. 登录数据库:
  4. [root@db02 conf]# mysql -uroot -poldboy123 -S /data/3308/mysql.sock
  5. mysql> grant all privileges on *.* to 'cobar'@'172.16.1.%' identified by 'oldboy123';
  6. mysql> flush privileges;
  7. create database dbtest1;
  8. create database dbtest2;
  9. create database dbtest3;
  10. use dbtest1;
  11. create table tb1(
  12. id int(4) not null,
  13. name char(20) not null,
  14. age tinyint(2) NOT NULL default '0',
  15. dept varchar(16) default NULL,
  16. primary key(id),
  17. KEY index_name(name)
  18. );
  19. use dbtest2;
  20. create table tb2 (
  21. id int(4) NOT NULL,
  22. name char(20) NOT NULL,
  23. PRIMARY KEY (id)
  24. );
  25. use dbtest3;
  26. create table tb2 (
  27. id int(4) NOT NULL,
  28. name char(20) NOT NULL,
  29. PRIMARY KEY (id)
  30. );
  31. 修改cobar的schema.xml配置文件:
  32. [root@db02 conf]# cat schema.xml
  33. <?xml version="1.0" encoding="UTF-8"?>
  34. <!--
  35.  - Copyright 1999-2012 Alibaba Group.
  36.  - 
  37.  - Licensed under the Apache License, Version 2.0 (the "License");
  38.  - you may not use this file except in compliance with the License.
  39.  - You may obtain a copy of the License at
  40.  - 
  41.  -http://www.apache.org/licenses/LICENSE-2.0
  42.  - 
  43.  - Unless required by applicable law or agreed to in writing, software
  44.  - distributed under the License is distributed on an "AS IS" BASIS,
  45.  - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  46.  - See the License for the specific language governing permissions and
  47.  - limitations under the License.
  48. -->
  49. <!DOCTYPE cobar:schema SYSTEM "schema.dtd">
  50. <cobar:schema xmlns:cobar="http://cobar.alibaba.com/">
  51.  
  52. <!-- schema定义 -->
  53. <schema name="dbtest" dataNode="dnTest1">
  54. <table name="tb2" dataNode="dnTest2,dnTest3" rule="rule1" />
  55. </schema>
  56.  
  57. <!-- 数据节点定义,数据节点由数据源和其他一些参数组织而成。-->
  58. <dataNode name="dnTest1">
  59. <property name="dataSource">
  60. <dataSourceRef>dsTest[0]</dataSourceRef>
  61. </property>
  62. </dataNode>
  63. <dataNode name="dnTest2">
  64. <property name="dataSource">
  65. <dataSourceRef>dsTest[1]</dataSourceRef>
  66. </property>
  67. </dataNode>
  68. <dataNode name="dnTest3">
  69. <property name="dataSource">
  70. <dataSourceRef>dsTest[2]</dataSourceRef>
  71. </property>
  72. </dataNode>
  73.  
  74. <!-- 数据源定义,数据源是一个具体的后端数据连接的表示。-->
  75. <dataSource name="dsTest" type="mysql">
  76. <property name="location">
  77. <location>172.16.1.52:3306/dbtest1</location>
  78. <location>172.16.1.52:3306/dbtest2</location>
  79. <location>172.16.1.52:3308/dbtest3</location>
  80. </property>
  81. <property name="user">cobar</property>
  82. <property name="password">oldboy123</property>
  83. <property name="sqlMode">STRICT_TRANS_TABLES</property>
  84. </dataSource>
  85.  
  86. </cobar:schema>

在登录cobar用户:

  1. [root@db02 conf]# mysql -ucobar -poldboy123 -h172.16.1.52 -P8066

mysql> insert into tb2(id,name) values(555,’qiangge’);

!!!!!#在插入信息的时候一定要在表名后面加(id,name),不然不能实现分布式储存的,只会同时写入两个表中,以至于成为双写。

再登录3308实例查看是否555,’qiangge’插入到dbtest3的tb2中:

  1. [root@db02 conf]# mysql -uroot -poldboy123 -S /data/3308/mysql.sock
  2. mysql> use dbtest3;
  3. mysql> select * from tb2;
  4. +-----+----------+
  5. | id| name     |
  6. +-----+----------+
  7. | 555 | qiangge2 |
  8. +-----+----------+

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576008.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度css:关于浮动(float,clear)的图形化理解

接触CSS以来&#xff0c;有人说浮动始终给人一种神秘的感觉&#xff0c;正因为有了它的一成不变的table布局开始了渐渐被divcss取代&#xff0c;它是控制传说中文本流核心和关键要素&#xff0c;懂得控制“块”的流动和布局即等于控制了网页的排版和布局。今天就以简单图文形式…

amoba读写分离

原文出自 http://www.abcdocker.com/abcdocker/81 1.AMOEBA是什么 Amoeba(变形虫)项目,该开源框架于2008年 开始发布一款 Amoeba for Mysql软件。这个软件致力于MySQL的分布式数据库前端代理层&#xff0c;它主要在应用层访问MySQL的 时候充当SQL路由功能&#xff0c;专注于分布…

MySQL事务及字符集介绍

原文 http://www.abcdocker.com/abcdocker/77 事务介绍 简单来说&#xff0c;事务就是指逻辑上的一组SQL语句操作&#xff0c;组成这组操作的各个SQL语句&#xff0c;执行时要么全成功要么全失败。 MySQL5.5支持事务的引擎&#xff1a;Innodb/ndb事务四大特性&#xff08;ACID&…

为了IT人的荣耀,请大力支持《中国人的紧箍咒》!理由如下——

博友们请注意——老孙又出新书了&#xff01; 先前&#xff0c;老孙从技术跨界到管理&#xff0c;出了一本《知道力》&#xff1b;如今又从管理跨界到文化&#xff0c;新出一本文化书《中国人的紧箍咒》。 作为登陆文化新战场的IT第一人&#xff0c;老孙正在诺曼底滩头独自奋战…

MyCat介绍与配置(精)

Mycat 前生今世如果我有一个32核心的服务器&#xff0c;我就可以实现1个亿的数据分片&#xff0c;我有32核心的服务器么&#xff1f;没有&#xff0c;所以我至今无法实现1个亿的数据库分片。---Mycats Plan Mycat 简介Mycat是什么&#xff1f; 从定义和分类来看&#xff0c;它是…

mysql-mmm 集群高可用软件介绍

mysql-mmm 集群高可用软件介绍 MMM即Master-Master Replication Manager for MySQL&#xff08;mysql主主复制管理器&#xff09;关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件&#xff08;在任何时候只有一个节点可以被写入&#xff09;&#xff0c;这个…

高可用MySQL MHA介绍

MySQL MHA介绍 MHA简介 MHA是一位日本MySQL大牛用Perl写一套MySQL故障切换方案&#xff0c;来保证数据库系统的高可用&#xff0c;在宕机的事件内&#xff08;通常10-30秒&#xff09;&#xff0c;完成故障转意&#xff0c;部署MHA&#xff0c;可避免主从一致性问题&#xff0c…

Xtrabackup安装以及应用

Xtrabackup是一个对InnoDB做数据备份的工具&#xff0c;支持在线热备份&#xff08;备份时不影响数据读写&#xff09;&#xff0c;是商业备份工具InnoDB Hotbackup的一个很好的替代品。 xtrabackup官方网址&#xff1a;https://www.percona.com/downloads/XtraBackup/MySQL Ba…

MySQL双主配置

双机热备的概念简单说一下&#xff0c;就是要保持两个数据库的状态自动同步。对任何一个数据库的操作都自动应用到另外一个数据库&#xff0c;始终保持两个数据库数据一致。 这样做的好处多。 1. 可以做灾备&#xff0c;其中一个坏了可以切换到另一个。 2. 可以做负载均衡&…

DSPBuilder笔记

一、位宽设置 在DSPBuilder中&#xff0c;数据在内部采用二进制定点数表示方法&#xff0c;数据可以设置成无符号整数、有符号整数和有符号小数等&#xff0c;其中有符号数由符号位、整数位和小数位组成&#xff08;有符号整数的小数位为0&#xff09;&#xff0c;位宽根据需求…

MySQL主从复制原理、半同步操作步骤及原理

1.1 企业Linux运维场景数据同步方案 1.1.1 文件级别的异机同步方案 1、scp/sftp/nc 命令可以实现远程数据同步。2、搭建ftp/http/svn/nfs 服务器&#xff0c;然后在客户端上也可以把数据同步到服务器。3、搭建samba文件共享服务&#xff0c;然后在客户端上也可以把数据同步到服…

基于.Net 写我自己的Ajax后台框架AjaxFramework

小小目录: 为什么要写自己的Ajax后台框架 框架的简单设计说明 框架如何使用 框架使用效果图 框架的优缺点 框架源码下载1、为什么要写自己的Ajax后台框架 现在Ajax在web应用方面已经用的稀巴烂了&#xff0c;如果你做一个网站没有用到ajax都不好意思拿出手&…

MySQL备份恢复与日志

MySQL 数据库的备份与恢复 1.1 备份数据的意义 第一是保护公司的数据&#xff0c;第二是网站7*24小时提供服务1.2 备份单个数据库参数使用 MySQL数据库自带了一个很好用的备份命令&#xff0c;就是mysqldump&#xff0c;它的基本使用如下&#xff1b;语法&#xff1a;mysqldum…

MySQL入门介绍

数据库介绍 1.1 什么是数据库&#xff1f; 简单的说&#xff0c;数据库&#xff08;英文Dtabase&#xff09;就是一个存放数据的仓库&#xff0c;这个仓库是按照一定的数据结果&#xff08;数据结构是指数据的组织形式或数据之间的联系&#xff09;来组织、存储的、我们可以通…

zoj 2526(一道很好的最短路应用题)

题目链接&#xff1a;http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId1538 题意&#xff1a;最短路问题&#xff0c;但是要求出最短路的条数&#xff0c;同时要求出所有可能的最短路选择中javabean最多的情况。 思路&#xff1a;求到终点的最短路径用Dijkstra&am…

MySQL常用命令大全

登录MySQL方法 单实例MySQL登录的方法 mysql #刚装完系统无密码情况登录方式&#xff0c;不需要密码 mysql -u root #刚装完系统无密码的情况登录 mysql -uroot -p #这里标准的dba命令行登录 mysql -uroot -poldboy #非脚本里一般不这样用&#xff0c;密码明文会泄露密码…

服务器安全之iptables iptables

服务器安全之iptables 感谢老男孩老师为我们讲解iptables 优化之路 iptables防火墙简介 Netfilter/Iptables&#xff08;以下简称Iptables&#xff09;是unix/linux自带的一款优秀且开放源代码的安全自由的**基于包过滤的防火墙工具**&#xff0c;它的功能十分强大&#xff0…

MC新手入门(三十)------ 逻辑运算符和表达式

游戏设计中提供了三种逻辑运算符&#xff1a; 1&#xff09;&& 与运算 2&#xff09;|| 或运算 3&#xff09; &#xff01;非运算 游戏设计中我们常常要用到上面的逻辑运算&#xff0c;例如&#xff1a;当在双人游戏中都要实现两人同时存活才能过关&#xff0c;…

Nagios 配置及监控

Nagios 监控 在互联网日益发展的今天&#xff0c;监控的重要性已经不言而喻。可能打开一个URL要经过6-7层的处理&#xff0c;如果出了问题而没有监控将很难定位到问题所在。那哪些内容需要监控呢&#xff1f; 1.本地资源 (1) 负载&#xff1a;uptime&#xff1b; (2) CPU&…

SSH 配置

SSH 批量管理 SSH介绍 SSH是Secure Shell Protocol的简写&#xff0c;由IETF网络工作小组&#xff08;Network working Group&#xff09;指定&#xff1b;在进行数据传输之前&#xff0c;SSH先对联机数据包通过加密技术进行加密处理&#xff0c;加密后在进行数据传输。确保了传…