mysql数据库
文章平均质量分 83
givenchy_yzl
早安
午安
晚安
——一个不配拥有晚安的追梦人
展开
-
mysql基于xtrabackup热备配置主从复制
至此,mysql全备(热备)完成,并将主从复制配置成功。1、安装xtrabackup。原创 2024-01-02 16:55:46 · 652 阅读 · 1 评论 -
xtrabackup 使用说明
还有其他的一些新特性,更多的说明可以看。总结:关于更多的innobackupex的备份可以看官方文档和xtrabackup 安装使用,参数可以参考本文上面的介绍说明,通过上面的几个说明看到xtrabackup可以实现:全量、增量、压缩、打包、加密备份,并且支持多线程的备份,并且也提供了长查询超过阀值自动kill的方法,大大提升备份效率。之后,根据自己备份场景的特点,选择合理的参数,定制适合自己需求的备份脚本进行工作。⑤.复制环境中的备份:一般生产环境大部分都是主从模式,主提供服务,从提供备份。原创 2023-11-15 14:33:06 · 169 阅读 · 0 评论 -
运维面试题
问题1、你接触过哪几种数据库软件,各自的优缺点是什么?1、关系型数据库-MySQL在不同的引擎上有不同的存储方式。查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。开源数据库的份额在不断增加,mysql的份额也在持续增长。缺点就是在海量数据处理的时候效率会显著变慢。非关系型数据库MongoDB优势:1、在适量级的内存的MongoDB的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。2、MongoDB的高可用和集群架构拥有十分高的扩展性。3、在副本集原创 2021-07-26 09:40:28 · 539 阅读 · 0 评论 -
mysql数据库优化
一、数据库硬件优化(选型)1.一般数据库选择1.真实的硬件,物理机2.云产品ECS,自己搭建数据库3.云数据库(RDS、DRDS)2.数据库类型1.OLTP 在线事务处理系统支持大量并发用户定期添加和修改数据。反映随时变化的单位状态,但不保存其历史记录。包含大量数据,其中包括用于验证事务的大量数据。可以进行优化以对事务活动做出响应。提供用于支持单位日常运营的技术基础结构。个别事务能够很快地完成,并且只需访问相对较少的数据。实时性要求高。交易一般是确定的,所以OLTP是对确定性转载 2021-07-26 09:18:32 · 322 阅读 · 0 评论 -
数据库读写分离(Atlas数据库中间件)
一、atlas简介Mysql 的 proxy 中间件有比较多的工具,例如,mysql-proxy(官方提供), atlas , cobar, mycat, tddl, tinnydbrouter等等。而Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台转载 2021-07-23 17:10:08 · 392 阅读 · 0 评论 -
数据库高可用:MHA技术
一、MHA背景介绍MHA 是Perl语言写的,开源的MYSQL故障切换方案;全称:Master High Availability,故障切换时间10-30s有人说,我不要MHA行不行啊; 可以,没问题,那么如果主数据库故障了,你怎么办?首先,你需要手动一个一个地登录上所有的SLAVE从库,然后一个个对比,看谁执行的BINLOG比较新,然后将其作为主库。接下来,你还需要手动把所有的从库CHANGE MASTER到新选出的主库。一个字“费劲”!这要是别的事,也还可以忍,但主库挂掉,会导致业务无法访问转载 2021-07-23 16:38:18 · 904 阅读 · 0 评论 -
mysql主从复制
一、主从复制介绍1.1 什么是主从复制将主服务器的binlog日志复制到从服务器上执行一遍,达到主从数据的一致状态,称之为主从复制。一句话表示就是,主数据库做什么,从数据库就跟着做什么。1.2 为何要做主从(1)为实现服务器负载均衡/读写分离做铺垫,提升访问速度#1、什么是读写分离 有了主从保持数据一致作为大前提,我们便可以可以分离读写操作,其中Master负责写操作的负载, 也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。那么读写分离的作用 是什么呢?原创 2021-07-22 17:26:06 · 319 阅读 · 1 评论 -
数据库的导入与导出
一、介绍在公司中,如果运营或者产品手里有几千万甚至几亿条数据,要求你将其导入数据中,请问如何做?如果你依据运营或产品交给你的数据文件直接使用insert语句,一行一行地批量插入,那至少需要1-2天时间才能插入完毕,此时我们可以用LOAD DATA INFILE语句。LOAD DATA INFILE 语句可以从一个文本文件中,将数据以很高的速度读入一个表中。MySQL官方文档也说明了,该方法比一次性插入一条数据性能快20倍。此外,mysql也支持快速导出语句 SELECT INTO OUTFILE使转载 2021-07-22 11:35:23 · 1478 阅读 · 0 评论 -
MySQL的数据备份与恢复
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具。备份过程快速、可靠;备份过程不会打断正在执行的事务;能够基于压缩等功能节约磁盘空间和流量;自动实现备份检验;还原速度快;使用xtrabackup使用InnoDB能够发挥其最大功效, 并且InnoDB的每一张表必须使用单独的表空间, 我们需要在配置文件中添加 innodb_file_per_table = ON 来开启。...原创 2021-07-20 19:54:28 · 1223 阅读 · 1 评论 -
mysql日志管理
一、日志的分类日志种类作用错误日志记录mysql服务器启动、关闭及运行错误的信息事务日志1、redo log 重做日志 2、undo log回滚日志查询日志记录查询的信息慢查询日志记录执行时间超过指定时间的操作二进制日志又称bin log日志,以二进制文件的方式记录数据库中除select以外的操作中继日志备库将主库的二进制日志复制到自己的中继日志中,从而在本地中进行重放通用日志审计那个账号、在哪个时段、做了哪些事件二、错误原创 2021-07-19 16:23:50 · 154 阅读 · 0 评论 -
mvcc事务隔离机制
数据库隔离机制可以参考以下链接:https://www.cnblogs.com/linhaifeng/articles/14387903.htmlmvcc事务隔离机制:在MVCC并发控制中,读操作可以分成两类:快照读 (snapshot read)与当前读 (current read)。快照读,读取的是记录的可见版本 (有可能是历史版本),不用加锁。当前读,读取的是记录的最新版本,并且,当前读返回的记录,都会加上锁,保证其他事务不会再并发修改这条记录。快照读:简单的select操作,属于快照读,原创 2021-07-16 14:47:25 · 111 阅读 · 0 评论 -
数据库读现象
高并发操作数据带来的问题:以下的三种情况,在数据库管理机制的干扰下,很可能不存在,但我们还是要了解,防止出现下列问题是不知道如何处理脏读读到无效的数据,就是事务一更新了一个数据(未提交),此时事务二查询了这个数据(读到的是未提交的数据),同时事务一将数据回滚(rollback),此时事务二读到的就是脏数据(不真实的数据)不可重复读事务T1读取一行记录,紧接着事务T2修改了T1刚才读取的那一行记录并且提交了。然后T1又再次读取这行记录,发现与刚才读取的结果不同。这就称为“不可重复”读,因为T1原来读转载 2021-07-15 15:40:51 · 75 阅读 · 0 评论 -
mysql之索引详解
一、索引1.什么是索引1)索引就好比一本书的目录,它能让你更快的找到自己想要的内容。2)让获取的数据更有目的性,从而提高数据库检索数据的性能。索引类型介绍1)BTREE:B+树索引(Btree,B+tree,B*tree)2)HASH:HASH索引 (将数据打散再去查询,Inodb和Myisam都不支持,设置完还是Btree,memery存储引擎支持)3)FULLTEXT:全文索引 (只可以用在MyISAM引擎)通过关键字的匹配来进行查询,类似于like的模糊匹配,like + %在文本比较原创 2021-07-13 17:34:32 · 400 阅读 · 1 评论 -
mysql权限管理
一 mysql库下的授权表linux系统的用户作用是:1、登陆系统2、管理系统文件一样的道理,mysql数据库管理软件用户的则作用是:1、登陆MySQL数据库2、管理库与表等数据库对象mysql数据库管理软件将权限信息都存放于mysql库下,该库下有一系列授权表,权限信息都存放于这一系列表中,我们挑几个重点介绍一下mysql库下的授权表及其放行权限的范围1、mysql.user (所有库)这里是引用针对所有数据、所有库下所有表、以及表下的所有字段2、msyql.db转载 2021-07-12 15:18:03 · 509 阅读 · 0 评论 -
mysql之innodb存储引擎
innodb存储引擎一、mysql组织架构根据以上结构,详解如下1、连接层1.验证用户的身份,用户名密码是否匹配2.提供两种连接方式(TCP/IP连接、socket连接)3.连接层提供了一个与sql层交互的线程2、SQL层1.接收连接层传过来的SQL语句2.验证执行的SQL语法3.验证SQL的语义(DDL,DML,DQL,DCL)4.解析器:解析SQL语句,生成执行计划5.优化器:将解析器传来的执行计划选择最优的一条执行6.执行器:将最优的一条执行6.1 与存储引擎层建立交互的原创 2021-07-12 14:29:49 · 919 阅读 · 0 评论 -
mysql之视图、触发器、流程控制、函数、存储过程
一、视图视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。视图原理:只是将查询语句的表结构存了下来了,数据都是从原表中查到的。使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那就意味着扩展sql极原创 2021-07-05 21:05:19 · 110 阅读 · 1 评论 -
mysql记录的增删改查、单表查询
一、介绍mysql数据操作:DML在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括使用INSERT实现数据的插入UPDATE实现数据的更新使用DELETE实现数据的删除使用SELECT查询数据以及。二、mysql记录的详细操作(增删改查)插入数据INSERT插入完整数据(顺序插入)语法一:INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);语法二:INSERT INTO 表名 VALUES (值1原创 2021-07-02 09:35:06 · 259 阅读 · 1 评论 -
mysql表相关操作
存储引擎什么是存储引擎mysql中建立的库===>文件夹库中建立的表===>文件现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片用png等数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎。存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可原创 2021-07-01 21:08:25 · 112 阅读 · 0 评论 -
mysql体系结构、服务组成、连接管理、多实例部署
一、mysql体系结构管理1.客户端与服务器模型1)mysql是一个典型的C/S服务结构1.mysql自带的客户端程序(/service/mysql/bin)mysqlmysqladminmysqldump2.mysqld一个二进制程序,后台的守护进程单进程多线程2)MySQL的两种连接方式1.TCP/IP的连接方式2.套接字连接方式,socket连接#查看连接方式mysql> status;--------------Connection: Localhost v原创 2021-07-01 21:03:08 · 164 阅读 · 1 评论 -
mysql中表的数据类型
一 介绍存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的详细可参考:mysql数据类型mysql常用数据类型概览#1. 数字:整型:tinyinit int bigint小数:float :在位数比较短的情况下不精准double :在位数比较长的情况下不精准0.000001230123123123存成:0.000001230000decimal:(如果用小数,则用推荐使用decimal)精准内部原理是以字符串形式去存#2.原创 2021-07-01 20:30:54 · 574 阅读 · 1 评论 -
mysql关于库的详细操作
一、系统数据库在数据库初始化成功以后,会默认生成四个系统数据库(如下所示):information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等performance_schema: MySQL 5.5之后开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象mysql: 授权库,主要存储系统用户的权限信息test: MySQL数据库系统自动创建的测试数据库二、创建数据库语法(he原创 2021-07-01 19:02:27 · 82 阅读 · 0 评论 -
数据库基本命令--忘记密码、数据库的增删改查
数据库相关操作详解1. 启动查看[root@egon ~]# systemctl start mariadb #启动[root@egon ~]# systemctl enable mariadb #设置开机自启动Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.[root@egon ~]# ps aux原创 2021-07-01 08:44:20 · 226 阅读 · 0 评论 -
数据库介绍与数据库安装
初始数据库一、课前介绍数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上。如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有问题。很不幸,这些假设都是你自己意淫出来的,上述假设存在以下几个问题。。。。。。1、程序所有的组件就不可能运行在一台机器上因为这台机器一旦挂掉则意味着整个软件的崩溃,并且程序的执行效率依赖于承载它的硬件,而一台机器机器的性能总归是有限的,受限于目前的硬件水平,就一台机器的性能垂直原创 2021-06-29 21:16:11 · 869 阅读 · 1 评论 -
索引的相关知识详解和慢查询优化
什么是索引?索引是存储引擎中的一种数据结构,或者说数据的组织方式,又称之为键key,为数据建立索引就好比为书建目录,目的是为了缩小查询范围,提升查询速度为何要用索引?为了优化查询效率ps:创建完索引后会降低增删改的效率(文件不是很大时,影响效果不会很强烈)不过好就好在一般数据的读写比例是10:1,所以适当的建一些索引还是很有必要的。如何正确的看待索引?开发人员最懂业务,任何一个程序都有吸引用户的亮点,亮点背后对应的是热数据,这一点开发人员是最清楚的,开发人员最了解热数据对应的数据库表字段有哪些,原创 2021-02-24 16:25:57 · 410 阅读 · 0 评论 -
数据库事务详解
什么是事务(transaction)?事务,就是要做的或所做的事情,数据库事务指的则是作为单个逻辑工作单元执行的一系列操作(SQL语句)。这些操作要么全部执行,要么全部不执行。一个事务可以包含多条sql语句事务的四大特性:acid特性1、原子性(atomicity)事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行(不可分割)2、一致性(Consistency)事务应确保数据库的状态从一个一致状态转变为另一个一致状态,例如转账行为中,一个人减了50元,另外一个人就应该原创 2021-02-25 16:18:50 · 208 阅读 · 0 评论 -
数据库锁机制详解
共享锁:(share lock)共享锁又称为读锁,简称S锁,(偏向于读的)顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,获准共享锁的事务只能读数据,不能修改数据直到已释放所有共享锁结论:如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁或不加锁(在其他事务里一定不能再加排他锁,但是在事务T自己里面是可以加的),反之亦然。如果大家都对一个记录加了共享锁,那么拿到共享锁的人只能读,不能改,此时没拿到共享锁的事务也只能读,不能改,(此时是为了保证数据的安全,所有人都无法对其进行写操作,即原创 2021-02-26 17:19:27 · 1607 阅读 · 0 评论