




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MYSQL集群解决方案-高可用性、负载均衡一、mysql的市场占有率二、mysql为什么受到如此的欢迎三、mysql数据库系统的优缺点四、网络服务器的需求五、什么是mysql的集群六、什么是负载均衡七、mysql集群部署和实现方法八、负载均衡的配置和测试九、Mysql集群系统的测试(测试方案+测试脚本+测试结果分析)lmysql的市场占有率MySQL是世界上最流行的开源数据库,已有1100多万的击活安装,每天超过五万的下载。MySQL为全球开发者、DBA和IT管理者在可靠性、性能、易用性方面提供了选择。第三方市场调查机构EvansDataCorporation调查显示,过去两年内在开发者使用的所有数据库中,MySQL已经拥有了25%的市场占有率。开源已经成为当今IT结构中不可或缺的重要部分,而且开源的市场占有率将继续增加。如下图所示:lmysql为什么受到如此的欢迎Sun公司今天1月份花了10亿美元将mysql收购,准备进军开源和数据库。数据库系统OracleSQLServerMySQLDB2是否免费收费收费免费收费存储过程支持支持支持支持视图支持支持支持支持快照支持支持不支持支持触发器支持支持支持支持安全强中中强复杂查询强中弱中索引丰富一般弱中数据类型多多多多事务处理强强弱中lmysql数据库系统的优缺点每个系统都有自身的不足和发展历程,mysql也一样。优点缺点1.源码公开,免费2.跨平台3.为多种开发语言和包提供了API4.支持多线程5.小巧、灵活、速度较快6.支持各种字符集7.提供各种连接、优化的工具包1.不完善,很多数据库特性不支持2.只适合中小型应用,对于大型应用,可以跟其他数据库互补;3.数据库系统数据量只能达到千万级别;l网络服务的需求随着Internet的飞速发展和对我们生活的深入影响,越来越多的个人在互联网上购物、娱乐、休闲、与人沟通、获取信息;越来越多的企业把他们与顾客和业务伙伴之间的联络搬到互联网上,通过网络来完成交易,建立与客户之间的联系。互联网的用户数和网络流量正以几何级数增长,这对网络服务的可伸缩性提出很高的要求。例如,比较热门的Web站点会因为被访问次数急剧增长而不能及时处理用户的请求,导致用户进行长时间的等待,大大降低了服务质量。另外,随着电子商务等关键性应用在网上运行,任何例外的服务中断都将造成不可估量的损失,服务的高可用性也越来越重要。所以,对用硬件和软件方法实现高可伸缩、高可用网络服务的需求不断增长,这种需求可以归结以下几点:1)可伸缩性(Scalability),当服务的负载增长时,系统能被扩展来满足需求,且不降低服务质量。2)高可用性(Availability),尽管部分硬件和软件会发生故障,整个系统的服务必须是每天24小时每星期7天可用的。3)可管理性(Manageability),整个系统可能在物理上很大,但应该容易管理。4)价格有效性(Cost-effectiveness),整个系统实现是经济的、易支付的。单服务器显然不能处理不断增长的负载。这种服务器升级方法有下列不足:一是升级过程繁琐,机器切换会使服务暂时中断,并造成原有计算资源的浪费;二是越往高端的服务器,所花费的代价越大;三是一旦该服务器或应用软件失效,会导致整个服务的中断。通过高性能网络或局域网互联的服务器集群正成为实现高可伸缩的、高可用网络服务的有效结构。这种松耦合结构比紧耦合的多处理器系统具有更好的伸缩性和性能价格比,组成集群的PC服务器或RISC服务器和标准网络设备因为大规模生产,价格低,具有很高的性能价格比。但是,这里有很多挑战性的工作,如何在集群系统实现并行网络服务,它对外是透明的,它具有良好的可伸缩性和可用性。针对上述需求,我们给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的服务器集群,我们称之为Linux虚拟服务器(LinuxVirtualServer)。在LVS集群中,使得服务器集群的结构对客户是透明的,客户访问集群提供的网络服务就像访问一台高性能、高可用的服务器一样。客户程序不受服务器集群的影响不需作任何修改。系统的伸缩性通过在服务机群中透明地加入和删除一个节点来达到,通过检测节点或服务进程故障和正确地重置系统达到高可用性。l什么是mysql集群分为同步集群和异步集群。同步集群(mysqlcluster)结构:(data+sql+mgm节点)特点:1)内存级别的,对硬件要求较低,但是对内存要求较大。换算比例为:1:1.1;2)数据同时放在几台服务器上,冗余较好;3)速度一般;4)建表需要声明为engine=ndbcluster5)扩展性强;6)可以实现高可用性和负载均衡,实现对大型应用的支持;7)必须是特定的mysql版本,如:已经编译好的max版本;8)配置和管理方便,不会丢失数据;异步集群(mysqlreplication)结构:(master+slave)特点:1)主从数据库异步数据;2)数据放在几台服务器上,冗余一般;3)速度较快;4)扩展性差;5)无法实现高可用性和负载均衡(只能在程序级别实现读写分离,减轻对主数据库的压力);6)配置和管理较差,可能会丢失数据;l什么是负载均衡通过director,将用户的请求分发到realserver服务器上,然后返回给用户。负载均衡部署灵活、能够满足各种需求。实现方式:硬件:BIG/IP、Cisco、IBM(昂贵)软件:LVS(免费)LVS系统将用户的请求的数据包在数据层和网络层进行了封装和转发,由三种方式满足各种需求。1)DR:直接路由2)Tuning:tcp/ip隧道3)NAT:网络地址转换需求:免费的软件包1)2台低端的director(active和standby)2)心跳线:连接2台director,检测活动情况3)2台以上的realservers通用结构:有兴趣的可以分别研究上面的三种LVS结构。lmysql集群部署和实现方法1)假设现在有4台服务器(mysql官方推荐的最小配置)服务器开启的服务角色64Ndb1MysqldMysqlAPINdb_mgmd管理节点(master)HeartbeatDirector(master)6Ndb2MysqldMysqlAPINdb_mgmd管理节点(backup)HeartbeatDirector(standby)7Sql1MysqldMysqlAPI(realserver)Ndbd存储节点Arptables访问路由01Sql2MysqldMysqlAPI(realserver)Ndbd存储节点Arptables访问路由2)服务器安装配置和网络连接(以下为所有服务器各操作一遍,共4遍)安装:将4台服务器安装CentOS5.2,选择下面的包:ClusteringStorageClusteringmysql不需要安装,但perl-mysql-xxx的所有包需要安装开发工具包和类库sshd服务SElinux=disable语言支持包不安装,默认美国英语设定主机名:Vi/etc/sysconfig/networkHostname=xxx:wq检查主机名:Uname-a必须和上表中的一一对应。否则有问题。Vi/etc/hostsNdb1 64Ndb2 6Sql1 7Sql2 01更新:#rpm-import/rpm/RPM-GPG-KEY.dries.txt#yumupdate-y&yum-yinstalllynxlibawtxorg-x11-deprecated-libsnxfreenxarptables_jfhttpd-devel下载:Mysqlcluster版本(我下载的5.0.67社区版本):rootndb1RHEL5#ls-lhMySQL*|awkprint$9MySQL-client-community-5.0.67-0.rhel5.i386.rpmMySQL-clusterextra-community-5.0.67-0.rhel5.i386.rpmMySQL-clustermanagement-community-5.0.67-0.rhel5.i386.rpmMySQL-clusterstorage-community-5.0.67-0.rhel5.i386.rpmMySQL-clustertools-community-5.0.67-0.rhel5.i386.rpmMySQL-devel-community-5.0.67-0.rhel5.i386.rpmMySQL-server-community-5.0.67-0.rhel5.i386.rpmMySQL-shared-community-5.0.67-0.rhel5.i386.rpmMySQL-shared-compat-5.0.67-0.rhel4.i386.rpmMySQL-shared-compat-5.0.67-0.rhel5.i386.rpmMySQL-test-community-5.0.67-0.rhel5.i386.rpmperl-HTML-Template-2.9-1.el5.rf.noarch.rpmrootndb1RHEL5#在服务器上安装以上包,在安装的过程中如果缺少包或者库,采用:yuminstallxxxx自行安装。建立目录:#mkdir/var/lib/mysql-cluster-p以下分别操作:安装cluster组件:#Rpm-UvhMySQL-xx-xx.rpm,根据不同,可以少安装部分组件。根据你需要而定。163、26上,我安装了:rootndb1RHEL5#rpm-aq|grepMySQLMySQL-clusterstorage-community-5.0.67-0.rhel5MySQL-clustertools-community-5.0.67-0.rhel5MySQL-clustermanagement-community-5.0.67-0.rhel5MySQL-shared-community-5.0.67-0.rhel5perl-DBD-MySQL-3.0007-1.fc6MySQL-server-community-5.0.67-0.rhel5rootndb1RHEL5#101、77上,我安装了:rootsql1#rpm-aq|grepMySQLMySQL-clusterstorage-community-5.0.67-0.rhel4MySQL-devel-community-5.0.67-0.rhel4MySQL-server-community-5.0.67-0.rhel4MySQL-client-community-5.0.67-0.rhel4MySQL-shared-community-5.0.67-0.rhel4rootsql1#以下在ndb1(164)和ndb2(26)上操作rootndb1#vi/var/lib/mysql-cluster/config.iniNDBDDEFAULTNoOfReplicas=2DataMemory=800MIndexMemory=400MMYSQLDDEFAULTNDB_MGMDDEFAULTTCPDEFAULT#SectionfortheclustermanagementnodeNDB_MGMD#IPaddressofthemanagementnode(thissystem)ID=1HostName=64NDB_MGMD#IPaddressofthemanagementnode(thissystem)ID=2HostName=6#SectionforthestoragenodesNDBD#IPaddressofthefirststoragenodeHostName=7DataDir=/var/lib/mysql-clusterNDBD#IPaddressofthesecondstoragenodeHostName=01DataDir=/var/lib/mysql-cluster#oneMYSQLDperstoragenodeMYSQLDMYSQLDMYSQLDMYSQLDMYSQLDMYSQLDMYSQLD:wq以下在mysqlAPI上操作(这里,我设定了7个API,以后可以随时加入)MysqldAPI的配置文件:Vi/etc/frootndb1#cat/etc/fmysqldndbclusterndb-connectstring=host=64,host=6ndb_mgmconnect-string=host=64,host=6ndbdconnect-string=host=64,host=6:wq分别启动ndb_mgmd/ndbd/mysqld164/26:ndb_mgmd-f/var/lib/mysql-cluster/config.ini77/101:Ndbd-initial164/26/77/101:/etc/rc.d/init.d/mysqlstart在管理节点ndb1(164)和ndb2(26)上查看各节点的情况:rootndb1#ndb_mgm-NDBCluster-ManagementClient-ndb_mgmshowConnectedtoManagementServerat:64:1186ClusterConfiguration-ndbd(NDB)2node(s)id=37(Version:5.0.67,Nodegroup:0,Master)id=401(Version:5.0.67,Nodegroup:0)ndb_mgmd(MGM)2node(s)id=164(Version:5.0.67)id=26(Version:5.0.67)mysqld(API)7node(s)id=501(Version:5.0.67)id=66(Version:5.0.67)id=764(Version:5.0.67)id=87(Version:5.0.67)id=9(notconnected,acceptingconnectfromanyhost)id=10(notconnected,acceptingconnectfromanyhost)id=11(notconnected,acceptingconnectfromanyhost)ndb_mgm以上说明一切正常。将服务增加到开机启动服务项中:164/26:echondb_mgmd-f/var/lib/mysql-cluster/config.ini/etc/rc.d/init.d/ndb_mgmdchmod755/etc/rc.d/init.d/ndb_mgmd77/101:Echondbd/etc/rc.d/init.d/ndbdChmod755/etc/rc.d/init.d/ndbdChkconfig-level2345ndbdonOK,到此mysqlcluster配置完成。强调:1)由于数据放在内存中,需要在ndb节点上加大内存的数量。按照1:1.1的比例,如果数据量达到3.6GB,需要4GB的内存。2)由于NDB和mysqld(API)都很耗费内存,所以建议将NDB放在164和26上。可能启动的时候会有警告,但是没关系的。查看数据和内存情况:77:rootsql2#toptop-16:39:36up1:59,1user,loadaverage:1.37,0.76,0.60Tasks:80total,2running,78sleeping,0stopped,0zombieCpu(s):4.0%us,4.0%sy,0.0%ni,87.3%id,2.9%wa,0.2%hi,1.5%si,0.0%stMem:2075600ktotal,2005868kused,69732kfree,68256kbuffersSwap:2031608ktotal,0kused,2031608kfree,1400812kcachedPIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND2306mysql250119m15m3952S220.810:20.94mysqld23791root1501587m484m31mR2023.99:34.97ndbd由于77只有2GB的内存,而在config.ini中,把1.2GB的内存分配给了NDB,所以,加上mysqld用掉的,2GB的内存似乎已经所剩无几了。查看77上的数据大小:rootsql2#cd/var/lib/mysql-cluster/ndb_4_fs/rootsql2ndb_4_fs#du-lh1.3GB连接API创建数据库:由于上面4台都做为mysqld的API,所以创建数据库的时候,都需要创建一遍。以下操作在4台API上都需要操作:#Mysql-uroot-pxxxxxxxxxxxx-AMysqlcreatedatabasetestdatabase;Mysqlgrantallon*.testdatabasetoroot192.168.131.%identifiedbyxxxxxxxxxxxxxxx;Mysqlflushprivileges;Mysqlcreatetabletest(int(1);Mysqlinsertintotest(1);Mysqlquit;以上做完以后,可以通过任意一台API上创建表,并写数据到表中,其他数据库都会同步写入。分别连接每台服务器进行检查:#Mysql-uroot-pxxxxxxxxxxxx-AMysqlusetestdatabase;Mysqlselect*fromtest;如果输出结果完全相同,表明mysqlcluster已经可以正常工作了。在2台API上设置LVSMysqlcluster做好以后,数据库分别建立同名的数据库以后,权限分配好,然后只要在一台上写入数据,其他的NDB就存储了相同的数据。用程序连接任意一台API写数据,如果程序中未设置API的选择和判断,只使用了其中一个API,一旦API当机,则无法写入数据,必须修改程序。即便做了API的判断和选择,因为没有实现负载均衡,服务器的性能没有充分利用。高可用性也没有达到目标。所以,我们现在在2台API之间做LVS。LVS采用ultramonkey()首先在NDB1(164)和NDB2(26)上下载heartbeat的软件包:下载所有的rpm包:Cd/usr/local/srcMkdirheartbeatCdheartbeat#Wgetxxx.xxx.rpm我下载了如下的软件包:rootndb1heartbeat#ls-lh*.rpm|awkprint$9;arptables-noarp-addr-0.99.2-1.rh.el.um.1.noarch.rpmheartbeat-1.2.3.cvs.20050927-1.rh.el.um.4.i386.rpmheartbeat-ldirectord-1.2.3.cvs.20050927-1.rh.el.um.4.i386.rpmheartbeat-pils-1.2.3.cvs.20050927-1.rh.el.um.4.i386.rpmheartbeat-stonith-1.2.3.cvs.20050927-1.rh.el.um.4.i386.rpmipvsadm-1.21-1.rh.el.1.um.1.i386.rpmlibnet--1.rh.el.um.1.i386.rpmperl-Authen-SASL-2.08-1.rh.el.um.1.noarch.rpmperl-Convert-ASN1-0.18-1.rh.el.um.1.noarch.rpmperl-IO-Socket-SSL-0.96-1.rh.el.um.1.noarch.rpmperl-ldap-0.3202-1.rh.el.um.1.noarch.rpmperl-Mail-IMAPClient-2.2.9-1.rh.el.um.1.noarch.rpmperl-Net-SSLeay-1.25-1.rh.el.um.1.i386.rpmperl-Parse-RecDescent-1.94-1.el5.rf.noarch.rpmperl-Parse-RecDescent-1.94-1.rh.el.um.1.noarch.rpmperl-XML-NamespaceSupport-1.08-1.rh.el.um.1.noarch.rpmperl-XML-SAX-0.12-1.rh.el.um.1.noarch.rpmrootndb1heartbeat#Heartbeat中包含以下几部分:1)MasterDirector(分发器)-MD2)BackupDirector(备份分发器)-BD3)Realserver(真实服务器,可以有2个以上)-RSIP设置并确认:MD:Eth0:64/24/GW:Eth1:/24MD:Eth0:6/24/GW:Eth1:VIP:05/24/GW:-用户访问的统一虚拟IPRS1:01/24/GW:RS2:7/24/GW:。等等以下操作在所有服务器上执行:主机名确认:分别执行:#uname-a主机名对应表中所列。在MD和BD修改IP转发:#vimodprobe.shmodprobeip_vs_dhmodprobeip_vs_ftpmodprobeip_vsmodprobeip_vs_lblcmodprobeip_vs_lblcrmodprobeip_vs_lcmodprobeip_vs_nqmodprobeip_vs_rrmodprobeip_vs_sedmodprobeip_vs_shmodprobeip_vs_wlcmodprobeip_vs_wrr:wq#chmod755modprobe.sh#shmodprobe.sh#vi/etc/modulesip_vs_dhip_vs_ftpip_vsip_vs_lblcip_vs_lblcrip_vs_lcip_vs_nqip_vs_rrip_vs_sedip_vs_ship_vs_wlcip_vs_wrr:wq#Vi/etc/sysctl.confnet.ipv4.ip_forward=0改为:net.ipv4.ip_forward=1使修改生效:/sbin/sysctl-p在MD和BD上安装heartbeat软件包#Rpm-Uvhperl-xx-xx-xx.rpm#Yuminstallheartbeat#Rpm-Uvharptables-noarp-addr-0.99.2-1.rh.el.um.1.noarch.rpm#rpm-Uvhperl-Mail-POP3Client-2.17-1.el5.centos.noarch.rpm缺少perl包,就使用yuminstallperl-xx-xx#Perl-CPAN-eshell这样安装的perl包不知道为何不好使?奇怪这里VIP实际上是绑定在2台director上。所以director之间需要做心跳处理。心跳线使用eth1口,用交叉线连接起来。这样可以避免影响其他服务器。配置heartbeatHeartbeat有3个配置文件:Ha.cfAuthkeysHaresourcesldirectord进程的配置文件Ldirectord.cf一共需要配置4个配置文件。#viha.cflogfacilitylocal0bcasteth1mcasteth169410auto_failbackoffnodendb1nodendb2respawnhacluster/usr/lib/heartbeat/ipfailapiauthipfailgid=haclientuid=hacluster:wq#viauthkeysauth33md5514a49f83820e34c877ff48770e48ea7:wq#viharesourcesndb1ldirectord:ldirectord.cfLVSSyncDaemonSwap:masterIPaddr2:05/24/eth0/55Ndb2上需要将主机名更改一下。:wq设置属性并使heartbeat开机启动#chmod600/etc/ha.d/authkeys#/sbin/chkconfig-level2345heartbeaton#/sbin/chkconfig-delldirectord启动heartbeat:/etc/init.d/ldirectordstop/etc/init.d/heartbeatstart在MD和BD上检查VIP是否生效:ipaddrsheth0rootndb1ha.d#ipaddrsheth02:eth0:mtu1500qdiscpfifo_fastqlen1000link/ether00:30:48:28:c6:85brdff:ff:ff:ff:ff:ffinet64/24brd55scopeglobaleth0inet05/24brd55scopeglobalsecondaryeth0inet6fe80:230:48ff:fe28:c685/64scopelinkvalid_lftforeverpreferred_lftforeverrootndb1ha.d#rootndb2#ipaddrsheth02:eth0:mtu1500qdiscpfifo_fastqlen1000link/ether00:30:48:28:c4:afbrdff:ff:ff:ff:ff:ffinet6/24brd55scopeglobaleth0inet6fe80:230:48ff:fe28:c4af/64scopelinkvalid_lftforeverpreferred_lftforeverrootndb2#现在在MD(164)上已经生效了。检查ldirectored进程rootndb1ha.d#/usr/sbin/ldirectordldirectord.cfstatusldirectordfor/etc/ha.d/ldirectord.cfisrunningwithpid:5596rootndb1ha.d#rootndb2#/usr/sbin/ldirectordldirectord.cfstatusldirectordisstoppedfor/etc/ha.d/ldirectord.cfrootndb2#VIP生效的director应该是running状态,standby应该是stop状态。利用ipvs检查包转发是否生效rootndb1ha.d#/sbin/ipvsadm-L-nIPVirtualServerversion1.2.1(size=4096)ProtLocalAddress:PortSchedulerFlags-RemoteAddress:PortForwardWeightActiveConnInActConnTCP05:3306wrr-7:3306Route133034-01:3306Route133038rootndb1ha.d#rootndb2#/sbin/ipvsadm-L-nIPVirtualServerversion1.2.1(size=4096)ProtLocalAddress:PortSchedulerFlags-RemoteAddress:PortForwardWeightActiveConnInActConnrootndb2#在MB上已经生效了。在MD和BD上检查LVSSyncDaemonSwap的状态:rootndb1ha.d#/etc/ha.d/resource.d/LVSSyncDaemonSwapmasterstatusmasterrunning(ipvs_syncmasterpid:5689)rootndb1ha.d#rootndb2#/etc/ha.d/resource.d/LVSSyncDaemonSwapmasterstatusmasterstopped(ipvs_syncbackuppid:5493)rootndb2#同样,standby的处于stopped状态。以下在RS服务器上执行:ARP转发限制MD或者BD采用ARP欺骗将ARP包转发给下面的realserver。为了转发成功,需要做ARP限制。#/etc/init.d/arptables_jfstop#/usr/sbin/arptables-noarp-addr40start#/etc/init.d/arptables_jfsave#/sbin/chkconfig-level2345arptables_jfon#/etc/init.d/arptables_jfstart查看限制链表rootsql2mysql-cluster#/sbin/arptables-L-v-nChainIN(policyACCEPT29243packets,819Kbytes)pktsbytestargetinoutsource-ipdestination-ipsource-hwdestination-hwhlenophrdpro541512DROP*/00500/0000/00any0000/00000000/00000000/0000ChainOUT(policyACCEPT3931packets,110Kbytes)pktsbytestargetinoutsource-ipdestination-ipsource-hwdestination-hwhlenophrdpro00mangle*eth00/000/0000/00any0000/00000000/00000000/0000-mangle-ip-s01ChainFORWARD(policyACCEPT0packets,0bytes)pktsbytestargetinoutsource-ipdestination-ipsource-hwdestination-hwhlenophrdprorootsql2mysql-cluster#rootsql1#/sbin/arptables-L-v-nChainIN(policyACCEPT29375packets,823Kbytes)pktsbytestargetinoutsource-ipdestination-ipsource-hwdestination-hwhlenophrdpro541512DROP*/00500/0000/00any0000/00000000/00000000/0000ChainOUT(policyACCEPT3903packets,109Kbytes)pktsbytestargetinoutsource-ipdestination-ipsource-hwdestination-hwhlenophrdpro00mangle*eth00/000/0000/00any0000/00000000/00000000/0000-mangle-ip-s7ChainFORWARD(policyACCEPT0packets,0bytes)pktsbytestargetinoutsource-ipdestination-ipsource-hwdestination-hwhlenophrdprorootsql1#这样,由MD或者BD转发过来的ARP包就被链表控制了。设置如何接收ARP包以下在所有RS上执行#cp/etc/sysconfig/network-scripts/ifcfg-lo/etc/sysconfig/network-scripts/ifcfg-lo:0#Vi/etc/sysconfig/network-scripts/ifcfg-lo:0DEVICE=lo:0IPADDR=05NETMASK=55NETWORK=BROADCAST=55ONBOOT=yesNAME=loopback:wq#/sbin/ifuplo查看lo:0rootsql1#ipaddrshlo1:lo:mtu16436qdiscnoqueuelink/loopback00:00:00:00:00:00brd00:00:00:00:00:00inet/8scopehostloinet05/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年45万平米住宅水电系统设计与全面维护服务合同
- 2025年智能办公家具定制与配套服务采购合同
- 2025年珠宝设计产业园区入驻企业供应链整合服务合作协议
- 2025年剧毒化学品运输车安全检测与预防性维护服务协议
- 2025年绿色建材生产与供应企业劳动合同模板
- 2025年智慧养老社区法律顾问专项服务合同
- 2025年度高端茶叶品牌代理销售合同(茶艺体验与品牌连锁加盟)
- 2025年现代厂房物业管理服务合同全方位服务体系
- 2025年快递行业绿色物流区域承包及环保责任合作协议
- 2025年智能网联汽车租赁与深度维护服务专项合同
- 高等院校毕业生转正定级审批表-6
- 贾宁财务讲义:人人都需要的财务思维
- 红星照耀中国选择题及答案50道
- 开放性伤口止血包扎技术课件
- 重症患者中心静脉导管管理中国专家共识(2022版)
- 环境综合应急预案
- 氯甲烷泄露应急预案
- 2.PaleoScan详细操作流程
- PLC西门子S7-1200应用技术完整全套教学课件
- 苏州银行总行信息科技部招聘考试真题2022
- 安装电工电气调试员安全技术操作规程
评论
0/150
提交评论