mysql
文章平均质量分 90
数据库
看清所苡看轻
将来的你一定会感激现在拼命的自己
展开
-
MySQL主从复制与读写分离
实验环境实验目标:1.实现mysql主从复制2.实现mysql读写分离与负载均衡案例前置知识点1.mysql主从复制原理1)mysql支持的复制类型(1)基于语句的复制。在主服务器上执行的sql语句,在从服务器上执行同样的语句,mysql默认采用基于语句的复制类型(2)基于行的复制。把改变的内容复制过去,而不是把命令在从服务器上执行一遍(3)混合类型的复制。默认采用基于语句的复...原创 2019-09-25 10:41:44 · 162 阅读 · 0 评论 -
MySQL读写分离原理
简单来说,读写分离(图10.3) 就是只在主服务器上写,只在从服务器上读。基本的原理是让主数据库处理事务性查询,而从数据库处理select 查询。数据库复制被用来把事务性查询导致的变更同步到群集中的从数据库。目前较为常见的MySQL读写分离分为两种。1)基于程序代码内部实现在代码中根据select. insert 进行路由分类,这类方法也是目前生产环境应用最广泛的。优点是性能较好,因为在...原创 2019-09-25 10:23:38 · 1016 阅读 · 0 评论 -
MySQL主从复制原理
MySOL的主从复制和MySQL的读写分离两者有着紧密联系,首先要部署主从复制,只有主从复制完成了,才能在此基础上进行数据的读写分离.MySQL支持的复制类型(1) 基于语句的复制。在主服务器上执行的SQL语句,在从服务器.上执行同样的语句。MySQL默认采用基于语句的复制,效率比较高。(2) 基于行的复制。把改变的内容复制过去,而不是把命令在从服务器上执行-遍。(3) 混合类型的复制...原创 2019-09-25 10:10:04 · 100 阅读 · 0 评论 -
SQL server数据库部署
如今生活中,到处都有数据,我们手机上一个小小的APP软件,在他的身后可能有好几十台服务器支撑着,在服务器上呢拥有数据,每个软件都是有一个后台数据库的。常用的几个数据库有:SQL server 此数据库是微软开发的只能应用在Windows端,简单、易用oracle 甲骨文公司开发的 它面向所有的主流平台,安全、完善,但是操作复杂DB2 IBM公司开发,面向所有主流平台,适用于大型企业环境,安...原创 2019-06-13 13:30:35 · 1661 阅读 · 0 评论 -
Lepus 天兔数据库监控
Lepus是一套开源的数据库监控平台,目前已经支持MySQL、Oracle、SQLServer、MongoDB、Redis等数据库的基本监控和告警(MySQL已经支持复制监控、慢查询分析和定向推送等高级功能)。Lepus无需在每台数据库服务器部署脚本或Agent,只需要在数据库创建授权帐号后,即可进行远程监控,适合监控数据库服务器较多的公司和监控云中数据库,这将为企业大大减化监控部署流程,同时Lepus系统内置了丰富的性能监控指标,让企业能够在数据库宕机前发现潜在性能问题进行处理,减少企业因为数据库问题导致原创 2020-07-13 08:22:33 · 460 阅读 · 0 评论 -
MySQL高可用之PXC
PXC简介PXC(Percona XtraDB Cluster)是一个开源的MySQL高可用解决方案。他将Percona Server和XtraBackup与Galera库集成,以实现同步多主复制。基于Galera的高可用方案主要有MariaDB Galera Cluster和Percona XtraDB Cluster,目前PXC架构在生产线上用的更多而且更成熟一些。PXC相比那些传统的基于主从模式的集群架构MHA和双主,Galera Cluster 最突出的特点就是解决了诟病已久的复制延迟问题,基本上原创 2020-07-13 08:12:59 · 508 阅读 · 0 评论 -
MySQL高可用之MHA(二)
注:本文基于MySQL高可用之MHA配置VIPvip配置可以采用两种方式:1、通过keepalived的方式管理虚拟ip的浮动;2、通过脚本方式启动虚拟ip 的方式(即不需要keepalived或者heartbeat类似的软件)1、keepalived方式管理虚拟ip#在编译安装 Keepalived之前,必须先安装内核开发包kernel-devel以及openssl-devel、popt-devel等支持库[root@master ~]# yum -y install kernel-deve原创 2020-07-13 08:06:15 · 185 阅读 · 0 评论 -
MySQL高可用之MHA
MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司 youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升 的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且 在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 MHA里有 两个角色一个是MHA Node(数据节点)另一个是M原创 2020-07-13 07:57:19 · 11523 阅读 · 6 评论 -
MySQL 高可用之MMM
一、MMM简介MMM即Multi-Master Replication Manager for MySQL:mysql多主复制管理器,基于perl实现,关于mysql主主复制 配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),MMM也能 对从服务器进行读负载均衡,所以可以用它来在一组用于复制的服务器启动虚拟ip,除此之外,它还有实现数 据备份、节点之间重新同步功能的脚本。MySQL本身没有提供replication failover的解决方案,通过MMM方案 能实现服务原创 2020-07-13 07:41:55 · 2671 阅读 · 0 评论 -
HAProxy+Keepalived实现Mycat高可用
在实际项目中,Mycat服务也需要考虑高可用性,如果Mycat所在的服务器出现宕机,或者Mycat服务故障,需要有备机提供服务,需要考虑Mycat集群。高可用方案:我们可以使用HAProxy+Keepalived配合两台Mycat搭起Mycat集群,实现高可用性。HAProxy实现了Mycat多节点的集群高可用和负载均衡,而HAProxy自身的高可用则可以通过Keepalived来实现。Mycat及主从可参考MySQL 中间件Mycat部署一、安装配置HAProxy[root@haproxy ~原创 2020-06-27 16:40:24 · 497 阅读 · 0 评论 -
mycat 读写分离+分库分表+全局表
一、mycat读写分离Mycat的读写分离是建立在Mysq的主从复制的基础上的#修改配置文件 schema.xml<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="TESTDB" checkSQLschema="false" sqlMaxLim原创 2020-06-22 08:51:20 · 561 阅读 · 0 评论 -
MySQL 中间件Mycat部署
什么是MyCat一个彻底开源的,面向企业应用开发的大数据库集群支持事务、ACID、可以替代MySQL的加强版数据库一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品一个新颖的数据库中间件产品为什么使用MyCat如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种 操作也是愈加的困难,传统的关系性数据库已经无原创 2020-06-21 07:18:53 · 382 阅读 · 0 评论 -
MySQL 高可用——双主
生产环境中一台mysql主机存在单点故障,所以我们要确保mysql的高可用性,即两台MySQL服务器如果其中有 一台MySQL服务器挂掉后,另外一台能立马接替其进行工作。 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,PXC,MMM,Heartbeat+DRBD等,比较常用的是keepalived+双主,MHA和PXC。 本节主要介绍了利用 keepalived 实现 MySQL 数据库的高可用。 Keepalived+mysql双主来实现MySQL-HA,我 们必须保证两台M原创 2020-06-20 07:15:02 · 451 阅读 · 0 评论 -
xtrabackup 实现MySQL数据库备份
mysqldump备份方式是采用逻辑备份,其最大的缺陷就是备份和恢复速度都慢,对于一个小于50G的 数据库而言,这个速度还是能接受的,但如果数据库非常大,那再使用mysqldump备份就不太适合了。 这时就 需要一种好用又高效的工具,xtrabackup就是其中一款,号称免费版的InnoDB HotBackup。 Xtrabackup实现是 物理备份,而且是物理热备 目前主流的有两个工具可以实现物理热备:ibbackup和xtrabackup;ibbackup是商 业软件,需要授权,非常昂贵。而xtraba原创 2020-06-16 14:24:38 · 253 阅读 · 0 评论 -
MySQL 数据备份及恢复
MySQL备份一般采用全库备份加日志备份的方式,根据业务的需要,可以采用每周日凌晨1点进行完全备份以及每小时进行一次增量备份,这样在MySQL故障后可以使用完全备份和日志备份尽可能的去恢复最完整的数据。一、binlog日志恢复MySQL的二进制日志记录着该数据库所有增删改的操作日志(前提是需要自己开启binlog),还包括了这些操作的执行时间,binlog的使用场景无外乎就是主从同步以及恢复数据库。开启binlog功能,需要编辑MySQL的主配置文件,如下:1、查看二进制功能是否开启(如下,值为OFF原创 2020-06-09 07:56:52 · 235 阅读 · 0 评论 -
MySQL 分区分表
1、为什么要分表?数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询速度变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行操作。当出现这种情况时,我们可以考虑分表或分区。2、MySQL分表分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,每个表都对应三个文件原创 2020-06-04 07:36:09 · 507 阅读 · 0 评论 -
MySQL 配置优化
MySQL参数优化对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系, 优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳效果。 下面列出了对性能优化影响较大 的主要变量,主要分为连接请求的变量和缓冲区变量1、连接请求的变量1). max_connections MySQL的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当 然这建立在机器能支撑的情况下,因为如果连接数越多, MySQL会为每个连接提供连接缓冲区,就会开 销越多的原创 2020-06-02 08:17:12 · 288 阅读 · 0 评论 -
MySQL 数据库优化
不管对于哪种服务,对于其优化,无非是从两个方面着手,第一个是对于硬件方面的优化,第二个是对系统以及服务本身的优化。1、查询连接MySQL服务器的次数mysql> show status like 'connections';+---------------+-------+| Variable_name | Value |+---------------+-------+| Connections | 3 |+---------------+-------+1 row in原创 2020-05-30 08:43:31 · 214 阅读 · 0 评论 -
MySQL 压力测试工具
一、MySQL自带的压力测试工具——Mysqlslapmysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较。mysqlslap为mysql性能优化前后提供了直观的验证依据,系统运维和DBA人员应该掌握一些常见的压力测试工具,才能准确的掌握线上数据库支撑的用户流量上限及其抗压性等问题。1、更改其默认的最大连接数在对MySQL进行压力测试之前,需要更改其默认的最大连接原创 2020-05-28 10:59:51 · 668 阅读 · 0 评论 -
MySQL 自带工具使用
在MySQL中,自带了许多功能比较强大的工具,如mysql、mysqladmin、mysqldump等。1、mysql命令Mysql命令是用的最多的一个命令工具了,为用户提供一个命令行接口来操作管理MySQL 服务器。可以通过mysql --help来查看其详细使用方法。-u 指定连接数据库时使用的用户-p 指定用户的密码 可以-p后面直接写密码,也可以不写,进行交互式输入密码,推荐后者-h 指定要登录的主机 可选,如果为空,则登录本机-P 指定要连接的端口 可选,默认是3306-e 可以通过原创 2020-05-26 07:47:18 · 226 阅读 · 0 评论 -
MySQL 日志
MySQL日志记录了MySQL数据库日常操作和错误信息。MySQL有不同类型的日志文件(各自存储了不同类型的日志),从日志当中可以查询到MySQL数据库的运行情况、用户的操作、错误的信息等。MySQL的日志分为以下四大类:错误日志:记录mysql服务的启动,运行或停止mysql服务时出现的问题;查询日志:记录建立的客户端的连接和执行的语句;二进制日志:记录所有更改数据的语句,可以用于数据的复制;慢查询日志:记录所有执行的时间超过long_query_time的所有查询或不使用索引的查询;默认情原创 2020-05-21 11:15:33 · 3161 阅读 · 0 评论 -
MySQL 用户和权限管理
在MySQL 5.7.24中,关于用户及用户权限的相关信息,都保存在了mysql库中的user表中,可以将user表中大致分为用户列、权限列、安全列、资源控制列这几种。1、用户列user表的用户列包括 Host、 User、password,分别表示主机名、用户名和密码。其中 user和 Host为user表的联合主踺。当用户与服务器之间建立连接时,输入的账户信息中的用户名称、主机名和密码必须匹配user表中对应的字段,只有3个值都匹配的时候,才允许连接的建立。这3 个字段的值就是创建账户时保存的账户信原创 2020-05-17 07:40:01 · 429 阅读 · 0 评论 -
MySQL 事务
什么是事务?事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败)。MySQL的事务是在存储引擎层实现。 MySQL的事务有ACIDA:原子性(atomicity):一个事务必须被视为一个不可分割的单元。C:一致性(consistency):数据库是从一种状态切换到另一种状态。I:隔离性(isolation):事务在提交之前,对于其他事务不可见。D:持久性(durablity):一旦事务提交,所修改的将永久保存到数据库原创 2020-05-16 13:47:43 · 189 阅读 · 0 评论 -
MySQL 存储过程
目录1、什么是存储过程?2、存储过程有哪些优点?3、自定义存储过程举例4、while循环的存储过程5、带有if判断的存储过程6、带有case的存储过程7、将存储过程传出到全局环境变量8、其他关于存储过程的操作语句9、附加:如何复制表。存储过程是数据库存储的一个重要的功能,MySQL在5.0以前的版本不支持存储过程,存储过程可以在大大提高数据库处理速度的同时提高数据库编程的灵活性。1、什么是存储过程?存储过程是一组为了完成特定功能的SQL语句集合。使用存储过程的目的是将常用或复杂的工原创 2020-05-10 17:13:38 · 163 阅读 · 0 评论 -
MySQL 视图
一.简介视图是数据库中的一个虚拟的表是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。简单的来说视图是由其定义结果组成的表。二、优点1.查询性能提高。当多表查询的时候,就可以将前面的操作固定化,相当于查询语句简写了。2.安全性。一般是这样做的:创建一个视图,定义好该视图所操作的数据。之后将用户权限与视图绑定。这样的方式是使用到了一个特性:grant原创 2020-05-10 08:48:47 · 341 阅读 · 0 评论 -
MySQL 索引类型
一、索引简介在MySQL中,索引(index)也叫做“键(key)”,它是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对性能的影响就愈发重要。索引优化应该是对查询性能优化最有效的手段,创建一个真正最优的索引经常需要重写SQL查询语句。二、索引的工作原理要理解MySQL中索引的工作原理,最简单的方法就是去看一看一本书的索引部分:比...原创 2020-05-08 11:13:37 · 343 阅读 · 0 评论 -
mysql命令行自动补全
1、基于python安装pip[root@192~]# yum -y install python-pip python-devel[root@192~]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py[root@192 ~]# python get-pip.py # 使用此命令出现黄字或类似字样出现不要担心,不是报错,只是...原创 2020-05-06 11:13:41 · 706 阅读 · 0 评论 -
mysql 数据查询
在MySQL数据库中查询数据通用的 SELECT 语法:查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。SELECT 命令可以读取一条或者多条记录。使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据使用 WHERE 语句来包含任何条件。使用 LIMIT 属性来设定返回的记录数。通过OFFSET指定SELECT语句开始查...原创 2020-04-30 08:54:19 · 682 阅读 · 0 评论 -
Mysql 函数
MySQL数据库提供了很多函数包括:数值型函数字符串函数时间和日期函数条件判断函数系统信息函数加密函数格式化函数数值型函数案例1:ABS(x)案例2:SQRT(x)案例3:MOD(x,y)案例4:CEIL(x),CEILNG(x)案例5:FLOOR(x)案例6:RAND(x)案例7:ROUND(x,y)案例8:SIGN(x)案例9:POW(x,y...原创 2020-04-24 17:29:29 · 162 阅读 · 0 评论 -
mysql数据类型+运算符
SQL数据类型一、数据类型简介数据表由多列字段构成,每一个字段指定了不同的数据类型,指定了数据类型之后,也就决定了向字段插入的数据内容;不同的数据类型也决定了 MySQL 在存储它们的时候使用的方式,以及在使用它们的时候选择什么运算符号进行运算;数值数据类型:TINYINT 、SMALINT 、MEDIUMINT 、INT 、BIGINT 、FLOAT 、DOUBLE 、DECIMAL;...原创 2020-04-19 10:03:20 · 796 阅读 · 0 评论 -
MySQL数据表控制语句+存储引擎
## MySQL数据表控制语句一、约束条件相关语句1、主键约束(主键约束要求主键列的数据唯一,并且不允许为空)<!--创建库-->mysql> create database test01; <!--切换至新库-->mysql> use test01;<!--创建一个带有主键约束的表--...原创 2020-04-15 19:44:29 · 325 阅读 · 0 评论 -
mysql 基础操作
一.连接mysql格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的mysql首先确保mysql已启动,可以查看到3306端口,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。输入密码后直接回车即可进入mysql中,MYSQL的提示符是: mysql>mysq...原创 2020-04-15 10:35:23 · 850 阅读 · 0 评论 -
YUM源安装MySQL5.7
1 下载MySQL源 rpmhttps://dev.mysql.com/downloads/repo/yum/2 安装rpm -ivh mysql80-community-release-el7-3.noarch.rpm 3 查看MySQL版本4 修改安装MySQL版本更改安装版本vim /etc/yum.repos.d/mysql-community.repo在查看...原创 2020-04-12 10:21:18 · 123 阅读 · 0 评论 -
mysql脚本安装
#!/bin/bashtar -zxf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz#将二进制包移动到/usr/local/mysqlmv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql#创建data目录mkdir /usr/local/mysql/data#创建用户和组并赋予文件夹权限...原创 2020-04-11 17:07:08 · 154 阅读 · 0 评论 -
二进制部署MySQL 5.7
mysql官网下载MySQL二进制包也可以在我的网盘中下载提取码:39kb1、卸载mariadb[root@mysql01 ~]# yum -y erase mariadb[root@mysql01 ~]# rpm -e qt-mysql-4.8.7-2.el7.x86_64 --nodeps2、部署mysql 5.7[root@mysql01 src]# tar zxf mysql...原创 2020-04-11 16:54:18 · 194 阅读 · 0 评论 -
Centos编译安装MySQL 5.7
为了提供更丰富、更强大的 web 应用功能,往往还需要有后台数据库、网页编程等多种角色的支持。在一般小中型企业中,最常用的数据库就是MySQL,MySQL 是一个真正多线程、多用户的 SQL 数据库服务,凭借其高性能、高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。MySQL 源码编译包(mysql-5.6.tar.gz):https://pan.baidu.com/s/1...原创 2019-08-02 11:10:07 · 354 阅读 · 0 评论