mysql集群

mysql的索引结构

走远了吗. 提交于 2019-12-26 07:41:36
前言 Hello我又来了,快年底了,作为一个有抱负的码农,我想给自己攒一个年终总结。 自上上篇写了手动搭建Redis集群和MySQL主从同步(非Docker)和上篇写了动手实现MySQL读写分离and故障转移之后,索性这次把数据库中最核心的也是最难搞懂的内容,也就是索引,分享给大家。 这篇博客我会谈谈对于索引结构我自己的看法,以及分享如何从零开始一层一层向上最终理解索引结构。 从一个简单的表开始 create table user( id int primary key, age int, height int, weight int, name varchar(32) )engine = innoDb; 相信只要入门数据库的同学都可以理解这个语句,我们也将从这个最简单的表开始,一步步地理解MySQL的索引结构。 首先,我们往这个表中插入一些数据。 INSERT INTO user(id,age,height,weight,name)VALUES(2,1,2,7,'小吉'); INSERT INTO user(id,age,height,weight,name)VALUES(5,2,1,8,'小尼'); INSERT INTO user(id,age,height,weight,name)VALUES(1,4,3,1,'小泰'); INSERT INTO user(id,age

mysql存储引擎概述

半腔热情 提交于 2019-12-26 04:09:19
存储引擎分类: Innodb MySql 5.6 版本默认的存储引擎。 支持事务,行级锁,支持外键。 它具备提交、回滚以及崩溃恢复的功能以保护用户数据。 myisam 既不支持事务,也不支持外键,也不支持行级锁。 适用于只读或者以读为主的的场景。 memory 访问数据非常快。 在内存中存储所有数据,应用于对非关键数据快速查找的场景。 数据是存放在内存中的,默认使用hash索引,服务关闭数据就会丢失。 BLACKHOLE 黑洞存储引擎,类似于 Unix 的 /dev/null,Archive 只接收但却并不保存数据。对这种引擎的表的查询常常返回一个空集。这种表可以应用于 DML 语句需要发送到从服务器,但主服务器并不会保留这种数据的备份的主从配置中。 CSV 它的表真的是以逗号分隔的文本文件。CSV 表允许你以 CSV 格式导入导出数据,以相同的读和写的格式和脚本和应用交互数据。由于 CSV 表没有索引,你最好是在普通操作中将数据放在 InnoDB 表里,只有在导入或导出阶段使用一下 CSV 表。 NDB (又名 NDBCLUSTER)——这种集群数据引擎尤其适合于需要最高程度的正常运行时间和可用性的应用。注意:NDB 存储引擎在标准 MySql 5.6 版本里并不被支持。目前能够支持 MySql 集群的版本有:基于 MySql 5.1 的 MySQL Cluster NDB 7

OneProxy 管理

丶灬走出姿态 提交于 2019-12-26 02:49:46
-----client-----------haproxy---------mysql1----------mysql2------ 192.168.1.250 192.168.1.1 192.168.1.10 192.168.1.20 一、安装mysql [root@localhost ~]#tar -zxvf bison-2.5.tar.gz [root@localhost ~]#./configure && make&& make install [root@localhost ~]#tar -zxvf cmake-2.8.7.tar.gz [root@localhost ~]#./bootstrap && gmake && gmake install [root@localhost ~]#tar -zxvf mysql-5.5.22.tar.gz [root@localhost ~]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 - DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all [root@localhost ~]#make && make install

mysql 7 (cluster) 集群 配置

青春壹個敷衍的年華 提交于 2019-12-26 02:44:56
注意:在启动数据节点后会预分配2G的硬盘空间(preallocate the space for the logs (used for recovery). This is to avoid problems during running of waiting for the OS to allocate disk space or running out of space),在分配成功后再启动服务节点! 配置过程: http://www.cnblogs.com/jinzhenshui/archive/2009/12/18/1627364.html # 管理节点配置文件 my_cluster.ini : [NDBD DEFAULT] NoOfReplicas=2 # 默认值是2. DataDir= E:\Program Files\MySQL\MySQL Server 7.0\Data\user_data #如果不存在就创建一个 # Managment Server [NDB_MGMD] nodeid=40 HostName=192.168.1.102 #管理节点服务器db1的IP地址 # Storage Engines [NDBD] nodeid=11 HostName=192.168.1.102 #MySQL集群db1的IP地址 [NDBD] nodeid=12

MySQL Cluster集群配置

邮差的信 提交于 2019-12-26 02:43:00
一、软件包 a) MySQL-ndb-management-5.0.90-1.i386.rpm b) MySQL-ndb-management-5.0.90-1.i386.rpm c) mysql-5.0.27.tar.gz 二、安装[管理节点] a) rpm -ivh MySQL-ndb-tools-5.0.90-1.i386.rpm b) rpm -ivh MySQL-ndb-management-5.0.90-1.i386.rpm c) mkdir /var/lib/mysql-cluster d) cd /var/lib/mysql-cluster e) touch config.ini [NDBD DEFAULT] NoOfReplicas=2 [MYSQLD DEFAULT] [NDB_MGMD DEFAULT] [TCP DEFAULT] # Managment Server [NDB_MGMD] HostName=192.168.1.67 # Storage Engines [NDBD] HostName=192.168.1.91 DataDir=/usr/local/mysql/data #DataDir=/var/lib/mysql-cluster [NDBD] HostName=192.168.1.92 DataDir=/usr/local/mysql

Mysql Cluster 集群 windows版本

半城伤御伤魂 提交于 2019-12-26 02:41:32
 VM1:192.168.220.102 管理节点(MGM) VM2:192.168.220.103 数据节点(NDBD1),SQL节点(SQL1) VM3:192.168.220.104 数据节点(NDBD2),SQL节点(SQL2)    MySQL Cluster版本:7.4.6 (MSI Installer)  下载地址: http://dev.mysql.com/downloads/cluster/   测试工具:Navicate for MySQL 三种节点: 管理节点:用于管理集群共它节点; 守护进程ndb_mgmd 数据节点:用于保存集群的数据; 守护进程ndbd SQL节点:用于连接数据节点;守护进程mysqld 解释一下 管理节点是负责管理数据节点和SQL节点的相当于集群的大脑, 数据节点是专门负责集群存储数据的, SQL节点说白了就是给你工具连接用的。 第一步先配置管理节点,把现在下来的安装包安装好以后。 到根目录 C:\Program Files\MySQL\MySQL Cluster 7.4 下面添加一个配置文件 配置如下 [ndbd default] NoOfReplicas=2 MaxNoOfTables=1024 MaxNoOfUniqueHashIndexes=1024 MaxNoOfOrderedIndexes=1024

linux MySQL Cluster MySQL集群

孤者浪人 提交于 2019-12-26 02:27:08
原文:http://lizhenliang.blog.51cto.com/7876557/1290451 官方下载地址 http://dev.mysql.com/downloads/cluster/ Linux最新版本7.3.2 文件 大小 md5 mysqlcluster-7.3.2-linux-x32.tar.gz 431.0MB 03093541b6416fc93935750d614d875b mysqlcluster-7.3.2-linux-x64.tar.gz 441.8MB 330c71a87fbf8f0468ec9c5e0ad6e794 Window最新版本7.3.2 文件 大小 md5 mysqlcluster-7.3.2-windows-x32.msi 100.2MB 9d25735d7e8af1a2e805f9a1fecc3a1f mysqlcluster-7.3.2-windows-x64.msi 95.5MB 6fe30e2045f074f471761cb17f0c3d1c 基本概念: “NDB” 是一种“内存中”的存储引擎,也是事务型存储引擎,具备ACID属性。 管理(MGM)节点: 负责管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点

Mysql之备份与恢复

三世轮回 提交于 2019-12-25 18:04:40
Mysql备份常用方法( 逻辑备份和物理备份) 逻辑备份mysqldump   恢复时通过mysqldump命令备份的sql语句还原到mysql数据库中   补充,增量备份备份binlog日志文件即可,恢复增量即通过mysqlbinlog工具截取binlog日志转换成sql语句,通过mysql或source进行语句还原 物理备份备份方法   使用cp,rsync,tar,scp等工具,由于在备份期间数据依然在写数据,所以直接复制会引起数据丢失,在恢复数据库时,对新数据库的路径,配置也有要求,一般要和远程保持一致。为了确保数据一致性,可以选择人工停库或者锁库后进行。但是一般生产部允许,除非可以申请停机或锁表 物理备份两部:1、停库或锁表,打包拷贝 2、第三方xtrabackup 企业场景全量和增量的频率 1、中小公司,全量一般每天一次,业务流量低谷进行,备份时锁表 增量:定时,例如每分钟rsync推一次binlog 2、大公司,一般周备,节省备份时间,减小备份压力,缺点是binlog文件副本太多,还原比较麻烦 3、一主错从环境,主从复制本身就是实时远程备份,可以解决物理故障 4、一主多从环境,可以采取一个从库上专门进行备份,通过延时同步解决人为误操作 mysql全量备份与增量备份 按天全备 周一 0 点全量备份 周二 0 点全量备份 01.sql.gz 02.sql.gz

MySQL:主从复制原理

北战南征 提交于 2019-12-25 10:46:12
1、主从复制概述 MySQL主从复制也可以称为MySQL主从同步,它是构建数据库高可用集群架构的基础。它通过将一台主机的数据复制到其他一台或多台主机上,并重新应用relay log中的SQL语句来实现复制功能。MySQL支持单向、双向、链式级联、异步复制,5.5版本之后加入的半同步复制,5.6版本之后的GTID复制,MySQL5.7的多源复制、并行复制、loss-less复制。 1.1 常见的几种主从架构 1)单向主从模式:Master ——> Slave 2)双向主从模式:Master <====> Master 3)级联主从模式:Master ——> Slave1 ——> Slave2 4)一主多从模式 5)多主一从模式 1.2 主从复制功能 1)实时灾备 2)读写分离 3)高可用 4)从库数据统计 5)从库数据备份 6)平滑升级 1.3 主从复制原理 主从同步过程中主服务器有一个工作线程I/O dump thread,从服务器有两个工作线程I/O thread和SQL thread。 主库把外界接收的SQL请求记录到自己的binlog日志中,从库的I/O thread去请求主库的binlog日志,并将binlog日志写到中继日志中,然后从库重做中继日志的SQL语句。主库通过I/O dump thread给从库I/O thread传送binlog日志。 原理图 !

mysql+centos7+主从复制

ぐ巨炮叔叔 提交于 2019-12-25 01:38:02
MYSQL(mariadb) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。 方法1:yum安装mariadb yum install mariadb-server mariadb 相关命令 mariadb数据库的相关命令是: systemctl start mariadb #启动MariaDB systemctl stop mariadb #停止MariaDB systemctl restart mariadb #重启MariaDB systemctl enable mariadb #设置开机启动 启动后正常使用mysql systemctl start mariadb #进入mysql mysql -uroot -p 方法2:官网下载mysql-server包(rpm) # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # rpm -ivh mysql-community-release-el7-5.noarch.rpm