![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL入门之旅
文章平均质量分 59
。
看,未来
墨家学徒
展开
-
数据库扩展的version + ext方案
使用ext来承载不同业务需求的个性化属性,使用version来标识ext里各个字段的含义。例如上述user表:verion=0表示ext里是passwd/nickversion=1表示ext里是passwd/nick/age/sex优点?(1)可以随时动态扩展属性,扩展性好(2)新旧两种数据可以同时存在,兼容性好不足?(1)ext里的字段无法建立索引(2)ext里的key值有大量冗余,建议key短一些(可以考虑用 PB 替代 JSON)...原创 2022-01-28 21:30:11 · 956 阅读 · 0 评论 -
《高性能MySQL》读书笔记
文章目录前言MySQL架构与历史MySQL逻辑架构连接管理优化与执行并发控制锁粒度表锁行级锁事务隔离级别事务日志性能优化简介通过性能剖析进行优化理解性能剖析剖析MySQL查询慢查询日志pt-query-digest优秀资料慢SQL定位分析选择优化的数据类型整数类型字符串类型BLOG 和 TEXT 类型使用枚举(ENUM)代替字符串MySQL schema设计中的问题前言我准备开一个新的系列,这是我以前接触不多的新领域,叫性能调优。刷博客的时候,看到“性能调优”这个词的时候,我整个人都愣住了,感觉时.原创 2022-01-18 21:25:29 · 458 阅读 · 0 评论 -
MHA介绍
文章目录MHA是什么?工作流程MHA是什么?MHA(Master HighAvailability)是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在10~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应原创 2022-01-17 17:54:34 · 1828 阅读 · 0 评论 -
【MySQL】数据平滑迁移方案思考
文章目录数据迁移方案两个方案的bug数据校验工具数据迁移方案这个想一下redis是怎么把数据做持久化的,思路就有了:快照 + 追加日志。注意点:1、在完成数据迁移之前,上游业务依然是访问旧数据库的。2、研发一个数据迁移工具,进行离线数据迁移。3、不断刷新“追加日志”4、写一个数据校验脚本。将新旧库数据进行比对,直到追平。5、在架构的时候就应该考虑到有一天要迁移,所以这时候就可以平滑迁移了。比方说:使用虚ip的方式。还有一种方案,是用 双写 的方式。好像在哪里见过,不知道是不是redis恢原创 2022-01-17 17:43:25 · 864 阅读 · 0 评论 -
Linux下查看MySQL占用磁盘空间大小
1、为什么会异常关闭?答:批量插入的脚本没写好,跑太久了,电脑都卡了,强制关闭进程了。2、关闭之后数据有写进去吗?很奇怪,检索了几分钟,结果显示为空。然后我就关机了。当时就是这么个情况。当我想修复一下脚本继续跑的时候,...原创 2022-01-12 15:09:05 · 2626 阅读 · 0 评论 -
MySQL上读写锁的方式记录
共享锁:select * from tableName where id = 100 lock in share more排它锁:select * from tableName where id = 100 for update共享锁、排它锁也被称之为读锁、写锁。原创 2022-01-08 17:08:16 · 727 阅读 · 0 评论 -
MySQL 各整型存储范围
绝对值居于:pow(2,比特数-1) -1tinyint:127smallint:32 768mediumint:8 388 607int:2 147 483 647bigint:这个大得很你放心原创 2021-12-25 16:33:02 · 689 阅读 · 0 评论 -
C/C++ MySQL API
文章目录遇到专业的API问题,我们的第一反应应该是直接去官网找官方文档。MySQL官方提供的 C/C++ API:C API Function Reference中文翻译文档答应我,以后遇上这种API问题,少翻百度,直接去官网,好吗?...原创 2021-12-21 15:42:34 · 875 阅读 · 0 评论 -
【MySQL】执行计划 explain 及 一条select语句在MySQL中的奇幻之旅
文章目录示例解释一条select语句在MySQL中的奇幻之旅示例explain select * from emp;解释列(Column)含义(Meaning)idThe SELECT identifier(每个select子句的标识id)select_typeThe SELECT type(select语句的类型)tableThe table for the output row(当前表名)partitionsThe matching parti.原创 2021-12-19 17:21:54 · 645 阅读 · 0 评论 -
【MySQL】回表查询与覆盖索引
要了解这俩概念,需要从索引入手。InnoDB有两大类索引,一类是聚集索引(Clustered Index),一类是普通索引(Secondary Index)。聚集索引InnoDB聚集索引的叶子节点存储行记录,因此InnoDB必须要有且只有一个聚集索引。1.如果表定义了PK(Primary Key,主键),那么PK就是聚集索引。2.如果表没有定义PK,则第一个NOT NULL UNIQUE的列就是聚集索引。3.否则InnoDB会另外创建一个隐藏的ROWID作为聚集索引。这种机制使得基于PK的查询原创 2021-12-19 10:40:31 · 676 阅读 · 0 评论 -
【MySQL】存储过程
文章目录为什么使用存储过程书写基本格式关于参数存储过程中开启事务返回多个结果集设置变量存储过程:一段SQL语句的集合为什么使用存储过程1、解耦合。数据库部分可交由专门的数据库管理人员去做,像前后端联合协作那样提供接口供后端调度。(这两天对后端开发又有了新的理解:作为前端和数据库之间数据转接的中间人。不论是哪种业务,后端架构如何发展,不都是为了数据走的更顺畅点吗?)作为后端开发人员,SQL是必备语言,但是如果条件允许,专业的事情交给专业的人来做。2、命令短小。使用过就知道了。几十上百个字节的命令压缩.原创 2021-12-18 19:14:54 · 1225 阅读 · 0 评论 -
关于 C++ 操作 MySQL 数据查询的底层数据结构与函数支持
文章目录近况示例函数数据结构MYSQL_RESMYSQL_DATAMYSQL_ROWSMYSQL_ROWMYSQL_FIELD相关APImysql_store_resultmysql_use_resultmysql_fetch_rowmysql_fetch_fieldmysql_free_result近况这些天,一半的时间都花在练车了,导致毕设进度就慢下来了。而且最近完美主义越来越严重,就加了个调优的小版本。本来今天应该进入第二个阶段了(主redis),结果现在还在对第一个版本进行调优。所以目前还是主.原创 2021-11-19 20:50:51 · 1575 阅读 · 0 评论 -
C++ 操作 MySQL模块更新
原先那个模板不好用,我来更新一下。新增了 mysql_error,不然报错怎么死的都不知道。。。文章目录db.hdb.cppdb.h#ifndef DB_H_#define DB_H_#include<string>#include<mysql/mysql.h>#include<muduo/base/Logging.h>#include<iostream>using namespace std;// 数据库配置信息 static原创 2021-11-07 10:51:06 · 751 阅读 · 0 评论 -
MySQL数据库从入门到实战应用(学习笔记三)
1、什么是事务控制2、事务的四个特性3、MySQL的事务控制4、提交事务5、事务回滚6、什么是分区表7、分区表的好处8、分区表的四种类型9、Range分区10、List分区11、分区的其他操作12、什么是视图13、视图基本操作14、什么是触发器15、触发器实战16、什么是预处理17、预处理的优势18、预处理的基本使用19、复制表的几种方式20、select … into outfile21、MySQL命令重定向输出22、My原创 2020-07-04 18:11:57 · 2060 阅读 · 0 评论 -
MySQL数据库从入门到实战应用(学习笔记二)
1、子查询in2、子查询exists3、用户管理4、权限管理5、MySQL权限列表6、为什么要禁止root远程登录7、禁止远程登录8、忘记root密码的解决方法9、重启MySQL时关闭权限验证10、修改root用户密码11、MySQL的日志类型12、认识慢查询日志13、如何开启慢查询日志14、慢查询日志文件的系统位置15、explain简介16、explain的使用17、explain结果解析18、什么是索引19、常见的索引种类20原创 2020-07-04 15:05:12 · 2048 阅读 · 0 评论 -
MySQL数据库从入门到实战应用(学习笔记一)
这两天看了柳峰老师的《MySQL数据库从入门到实战应用》,颇有收获,想着记点东西。文章目录1、客户端终端使用2、启停MySQL服务3、SQL语言分类4、存储引擎5、运行报错6、数据类型7、建表语法8、修改表9、查询所有数据库10、当前使用的数据库11、往表中插入数据集12、修改表中数据13、删除表中数据14、数据完整性![在这里插入图片描述](https://img-blog.csdnimg.cn/20200703180508452.PNG?x-oss-process=image/watermark,ty原创 2020-07-03 20:11:02 · 3079 阅读 · 4 评论 -
原来sqlite3_get_table() 是这样抓取数据的!!!
文章目录看我的,没后悔啦①容我重新介绍一下sqlite3_get_teble()函数②从“大数据”中抓取我们需要的数据③让我来给你示范一下看我的,没后悔啦①容我重新介绍一下sqlite3_get_teble()函数和sqlite3_exec()这种使用回调函数的方式不同,sqlite3_get_table()的功能要显得更加直接。它通过控制语句的传入,直接将参数赋值给指针传出。来看一下函数原型:#include<sqlite3.h>int sqlite3_get_table(sql.原创 2020-05-21 21:30:07 · 14506 阅读 · 15 评论 -
sqlite3数据库封装 - 动态链接库
东西在这儿提取码:y2rz操作说明:安装这里给两种方法。不弄动态加载库。①同项目工程文件夹形式将资源文件放在当前项目工程文件下,编译指令:g++ *.cpp -o name -L./ -lmydb //名字自己起②第三方库形式这里不建议放在系统库底下,也不建议将头文件放在系统头文件目录下,系统有给我们提供第三方文件夹。将.so文件放到 /usr/local/lib下,将.h文件放到/usr/local/include下,不然肯定会找不到头文件。然后运行指令 ldconfig,刷新系统对原创 2020-05-20 12:12:48 · 3145 阅读 · 0 评论 -
CentOS 三分钟快速安装MySQL
文章目录前言安装步骤操作演示前言最近重装了centos系统,这不马上就要用到MySQL,于是安装了一下。刚开始的时候,我也慌得一批,因为以前在Linux上配环境那可谓一波多少折都不知道。昨天重装redis的时候,有我自己的博客强力支持,所以没垮。今天这个MySQL,安装完我得赶紧纪录一下,不知道下次再安装时什么时候。安装步骤1.查看_卸载以前的mysql 或者 mariadb命令 : rpm -qa | grep mysql(或者mariadb)执行后显示 ,例如 : mysq.原创 2021-02-17 13:49:03 · 7268 阅读 · 20 评论 -
全面分析 MySQL并发控制
文章目录并发控制MySQL逻辑架构锁读写锁并发控制为什么会提出这个话题?不言而喻。无论何时,只要有多个查询需要在同一时刻查询数据,都会产生并发问题。我也不多废话,如果是进来找代码实现的,请移步:不是你记忆中的单例模式,但适用的程度,更胜一筹当然,建议还是打开看一下,说不定就涨了些奇奇怪怪的知识。本篇虽然题目说:全面分析,但是谁都知道,并发控制是一个多么庞大的概念是吧,本篇主要讲的是:MySQL的锁、存储引擎、事务处理机制。如果不是你期待的,可以省点时间啦;如果是的话,点赞收藏错不了!MyS.原创 2020-09-30 21:07:30 · 4884 阅读 · 32 评论 -
MySQL题集
文章目录题一(组合两个表)题解方法:使用 outer join收获多表联结题二:第二高的薪水题解方法:使用 IFNULL 和 LIMIT 子句收获题一(组合两个表)表1: Person+-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+------原创 2020-09-29 11:14:16 · 2956 阅读 · 17 评论 -
《深入浅出SQL》问答录
本系列出自《深入浅出SQL》,全文以问答形式展开,是我的个人学习笔记。文章目录如果我只有一张白表,我为什么还要创建数据库?我发现CREATE DATABASE 命令的字母全是大写,一定要这样吗?给数据库、表和列命名时有什么注意事项吗?为什么不能直接把BLOB当成所有文本值的类型?NULL是什么都没有的意思吗?花絮我试着从网络上复制并粘贴查询,但在使用时却一直出现错误信息,我做错什么了吗?所以我应该把查询粘贴到Microsoft Word之类的软件中吗?关于单引号的两种转义方法,哪一种比较好呢?若是N..原创 2020-09-29 10:34:32 · 2585 阅读 · 4 评论 -
MySQL见闻录 - 入门之旅
在网上翻来覆去找不到一套适合新手自学的书,于是买了课,急急忙忙上完了课,又发现全还给老师了。这一系列文放在这里,从下载软件开始,记录一条MySQL入门之旅。 新手也可以跟着这条路走,一条道走到黑。 粉丝可见,愿者上钩。有任何疑问,参考三篇上课笔记,或者私信我。文章目录1、我的上课笔记2、软件下载选择3、示例数据库4、DOS界面用户登录方式5、取消语句6、数据库操作7、数据表操作8、往数据表中插入数据9、从表中检索数据10、sampdb数据库资料11、当前服务器下存储引擎12、各存储引擎特性13、如.原创 2020-09-28 22:21:15 · 10740 阅读 · 107 评论