数据库服务器

Mycat 读写分离+分库分表

坚强是说给别人听的谎言 提交于 2019-11-27 19:15:24
上次进过GTID复制的学习记录,已经搭建好了主从复制的服务器,现在利用现有的主从复制环境,加上正在研究的Mycat,实现了主流分布式数据库的测试 Mycat就不用多介绍了,可以实现很多分布式数据库的功能,极大的减轻数据库服务器的压力,包括读写分离以及分库分表,本测试对这两种功能都进行了测试,进行相应记录 本文以Mycat官方给出的例子来进行解释总结 首先来看分库分表,分库分表一般来说都是一起说的,但是实际上分库跟分表是有区别的,简单来说有垂直和水平两种方式,垂直就是将表按字段进行拆分,水平就是将表按照数据分布来做行拆分。具体的肯定还是有区别,本文不再进行阐述,主要介绍按照字段的分布进行数据行的拆分 本身理解来说Mycat实现的应该是分库,也就是将一个表的行分开存储到不同的数据库中,这里不同的数据库可以有一下两种 1)不同的数据库服务器上的 两个数据库(此时db的名字可以相同,也可以不同) 2)相同的数据库服务器上的两个数据库(此时db的名字肯定是不同的) 当然对于实际使用分库来说肯定是使用不同的数据库服务器的,而且大多数都是在不同的服务器上使用相同的名字,这样能够比较正式的做法 分表的关键部分在mycat的配置文件schema.xml中,该文件中定义了数据库服务器,表的拆分规则等等重要信息 <table name="employee" primaryKey="ID"

彻底弄懂HTTP缓存机制及原理

谁说胖子不能爱 提交于 2019-11-27 18:05:55
彻底弄懂HTTP缓存机制及原理 转载于云中桥 前言 Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个基础环节,同时对于有志成为前端架构师的同学来说是必备的知识技能。 但是对于很多前端同学来说,仅仅只是知道浏览器会对请求的静态文件进行缓存,但是为什么被缓存,缓存是怎样生效的,却并不是很清楚。 在此,我会尝试用简单明了的文字,像大家系统的介绍HTTP缓存机制,期望对各位正确的理解前端缓存有所帮助。 在介绍HTTP缓存之前,作为知识铺垫,先简单介绍一下HTTP报文 HTTP报文就是浏览器和服务器间通信时发送及响应的数据块。 浏览器向服务器请求数据,发送请求(request)报文;服务器向浏览器返回数据,返回响应(response)报文。 报文信息主要分为两部分 1.包含属性的首部(header)--------------------------附加信息(cookie,缓存信息等) 与缓存相关的规则信息,均包含在header中 2.包含数据的主体部分(body)-----------------------HTTP请求真正想要传输的部分 缓存规则解析 为方便大家理解,我们认为浏览器存在一个缓存数据库,用于存储缓存信息。 在客户端第一次请求数据时,此时缓存数据库中没有对应的缓存数据,需要请求服务器,服务器返回后

Mysql安全配置

安稳与你 提交于 2019-11-27 17:43:20
0x01 前言 很多文章中会说,数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话。因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他 需要哪些权限。 现在很多mysql用着root账户在操作,并不是大家不知道用root权限太大不安全,而是很多人并不知道该给予什么样的权限既安全又能保证正常运行。 所以,本文更多的是考虑这种情况下,我们该如何简单的配置一个安全的mysql。注:本文测试环境为mysql-5.6.4 0x02 Mysql权限介绍 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表。 mysql权限表的验证过程为: 1,先从user表中的Host,User,Password这3个字段中判断连接的ip、用户名、密码是否存在,存在则通过验证。 2,通过身份认证后,进行权限分配,按照user,db,tables_priv,columns_priv的顺序进行验证。即先检查全局权限表user,如果user中对应的权限为Y,则此用户对所有数据库的权限都为Y,将不再检查db, tables_priv,columns_priv;如果为N,则到db表中检查此用户对应的具体数据库,并得到db中为Y的权限;如果db中为N,则检查tables_priv中此数据库对应的具体表,取得表中的权限Y,以此类推。 0x03

网络运维常用理论知识概括

折月煮酒 提交于 2019-11-27 16:21:59
《Windows系统管理》 ################################################################### 什么是 BIOS?如何进入BIOS? BIOS基本输入输出系统,一般按DEL或F2进BIOS设置程序。 什么是虚拟机? 虚拟机运行在计算机上的一款软件程序,模拟计算机硬件功能为其他软件程序提供一个独立的计算机环境。 虚拟机运行模式? 1)寄居架构 作为应用软件安装在操作系统上 ,可以在此应用软件上安装多个操作系统 2)原生架构 虚拟机软件直接安装在计算机硬件上 虚拟机本身就是一个操作系统 IP地址作用、组成、分类? 1) 作用:用来标识一个节点的网络地址 2) 组成:网络位+主机位,32位,以4个十进制数来表示,之间用 . 隔开 3) 分类:  A 1 - 127 网+主+主+主  B 128 -191 网+网+主+主  C 192 -223 网+网+网+主  D 224 - 239 组播(多播)  E 240 - 254 科研 4)默认子网掩码  A 类 255.0.0.0  B类 255.255.0.0  C 类 255.255.255.0 备用配置专用IP地址? 169.254.0.1-169.254.255.254、子网掩码为255.255.0.0 私有地址范围: A类 10.0.0.1 ~ 10

Nosql

那年仲夏 提交于 2019-11-27 15:58:43
单机MySQL的美好时代 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。 在那个时候,更多的都是静态网页,动态交互类型的网站不多 初期架构 | center DAL,(Data Access Layer)。其功能主要是负责数据库的访问。简单地说就是实现对数据表的Select(查询)、Insert(插入)、Update(更新)、Delete(删除)等操作。 上述架构下,我们来看看数据存储的瓶颈是什么? 1、数据量的总大小 一个机器放不下时。(表要占空间,表的索引要占空间) 2、数据的索引(B+ Tree树)一个机器的内存放不下时库 3、访问量(读写混合)一个实例不能承受,(读写一个库) 真正意义上的库应该是主从复制,读写分离,而mysql等数据库只能自己从自己的库中读与写,也就是自己和自己玩。 如果满足了上述1 or 3个,则需要进化.. Memcached(缓存,java上还有一个ehcache)+MySQL+垂直拆分 后来,随着访问量的上升,几乎大部分使用MySQL架构的网站在数据库上都开始出现了性能问题,web程序不再仅仅专注在功能上,同时也在追求性能。程序员们开始大量的使用缓存技术来缓解数据库的压力, 优化数据库的结构和索引 。开始比较流行的是通过文件缓存来缓解数据库压力,但是当访问量继续增大的时候,多台web机器通过文件缓存不能共享

sql语句

孤街醉人 提交于 2019-11-27 15:32:42
1.经典SQL语句大全(绝对的经典) 2. 3. 4.一、基础 1.1、说明:创建数据库 2.CREATE DATABASE database-name 3.2、说明:删除数据库 4.drop database dbname 5.3、说明:备份sql server 6.--- 创建 备份数据的 device 7.USE master 8.EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' 9.--- 开始 备份 10.BACKUP DATABASE pubs TO testBack 11.4、说明:创建新表 12.create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 13. 14.根据已有的表创建新表: 15.A:create table tab_new like tab_old (使用旧表创建新表) 16.B:create table tab_new as select col1,col2… from tab_old definition only 17.5、说明:删除新表 18.drop table tabname 19.6、说明:增加一个列 20.Alter table

zabbix服务器性能监控工具的安装二

半世苍凉 提交于 2019-11-27 15:29:13
上一篇完成了lnmp的安装,本篇则可以继续完成zabbix的安装 目录 1、下载 2、安装 1、下载 下载链接: http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz 上传zabbix-2.2.6.tar.gz到服务器/usr/local目录下面 2、安装 一、创建、导入zabbix数据库 cd /usr/local/src #进入软件包下载目录 tar zxvf zabbix-2.2.6.tar.gz #解压 cd /usr/local/zabbix-2.2.6/database/mysql #进入mysql数据库创建脚本目录 ls #列出文件,可以看到有 schema.sql、images.sql、data.sql 这三个文件 mysql -u root -p #输入密码,进入MySQL控制台 create database zabbix character set utf8; #创建数据库zabbix,并且数据库编码使用utf8 GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION; #创建一个zabbix用户

连接阿里云服务器数据库

孤街浪徒 提交于 2019-11-27 15:25:28
连接步骤: 第一步: 肯定要看你的mysql数据库是否启动,才能确定是否能够连接,一下有两种方式 1.service mysqld status 查看你mysql状态 2.ps -e |grep mysqld 查看你mysql运行对应的进程 第二步:开启mysql的远程访问权限 默认mysql的用户是没有远程访问的权限的,因此当程序跟 数据库 不在同一台服务器上时,我们需要开启mysql的远程访问权限。 主流的有两种方法,改表法和授权法。 相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法 1、登陆mysql mysql -u root -p 2、修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。 mysql> use mysql; mysql> update user set host = '%' where user = 'root'; mysql> select host, user from user; mysql> flush privileges; 第三步:在阿里云的防火墙建立一个新的端口3306

mysql数据库移植sqlserver数据库

别来无恙 提交于 2019-11-27 14:42:21
今天和大家分享一下如何将自己的mysql数据库移植到sqlserver数据库中来。具体的做法如下: 1、首先,确保自己的电脑中安装了mysql数据库和sqlserver数据库。 2、 安装MySQL ODBC驱动: 为MySQL安装Connector/ODBC驱动。在此需要注意的一点是Connector/ODBC驱动与MySQL Server的版本对应问题,如果自己电脑中已经存在该odbc驱动即可不必按照。 3、 创建系统DSN : 创建 系统DSN 步骤如下:开始->设置->控制面板->管理工具->数据源(ODBC),按该流程打开ODBC数据眼管理器,如图所示。 4、 切换至系统DSN选项卡,点击添加按钮。弹出创建新数据源对话框,选择MySQL ODBC 5.3 AANSI Driver驱动程序,点击完成按钮。 (注意说明:选择自己电脑中安装的odbc版本,不一定是我的这个版本) 5、 在弹出的配置框中填写数据源名、MySQL服务器IP、端口、用户名和密码,点击[ok],ODBC数据源创建成功。(说明一下相关的字段说明:第一个是自定义的dns的名称,第二个是相关的描述可以不写,第三个是服务器的地址,是本地服务器就写localhost或者127.0.0.1或者本地的电脑名称;如果是远程服务器就需要写对应的地址,3306是默认的mysql端口,一般不用更改

云计算openstack共享组件——Memcache 缓存系统(4)

丶灬走出姿态 提交于 2019-11-27 12:35:34
云计算openstack共享组件——Memcache 缓存系统(4) 一、缓存系统 一、静态web页面: 1、在静态Web程序中,客户端使用Web浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给Web服务器,之后WEB服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过Web服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。 2、为了让静态web页面显示更加好看,使用javascript/VBScript/ajax(AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。)但是这些特效都是在客户端上借助于浏览器展现给用户的,所以在服务器上本身并没有任何的变化。 3、静态web无法连接数据库; 4、静态web资源开发技术:HTML; 5、由于现在的web页面中,大量使用JS,导致浏览器打开页面,就会占用大量的内存,服务端的压力是减轻了,但压力转移到了客户端。 二、动态web页面: 1、动态WEB中,程序依然使用客户端和服务端,客户端依然使用浏览器(IE、FireFox等),通过网络(Network)连接到服务器上