MySQL
good-destiny
这个作者很懒,什么都没留下…
展开
-
MySQL问题总结
1、修改root密码 在mysql中执行下面语句修改密码: use mysql; update user set authentication_string=PASSWORD("自定义密码") where user='root'; update user set plugin="mysql_native_password"; flush privileges; quit; 2、无法远程到m...原创 2020-03-17 21:32:25 · 129 阅读 · 0 评论 -
MySQL之 事务日志: redo和undo
目录 1 概述 2 redo日志 2.1redo log和二进制日志的区别 2.2 redo日志的基本概念 2.3 日志块(log block) 2.4redo log的格式 2.5日志刷盘的规则 2.6数据页刷盘的规则及checkpoint 2.7innodb的恢复行为 2.8 redo log相关变量 2 undo日志 2.1 基本概念 2.2undo日...转载 2020-03-11 22:50:02 · 272 阅读 · 0 评论 -
MySQL之 分库分表
目录 1 数据库的瓶颈 1.1 IO瓶颈 1.2 CPU瓶颈 2 分库分表 2.1 水平分库 2.2 水平分表 2.3 垂直分库 2.4 垂直分表 3 分库分表步骤 4 分库分表问题 5 扩容问题(水平分库分表,拆分策略为常用的hash法) 6 分库分表总结 1 数据库的瓶颈 数据库的瓶颈主要在IO和CPU领域,随着数据库的活跃连接数增加,进而逼近甚至...转载 2020-03-10 20:56:12 · 189 阅读 · 0 评论 -
MySQL之 索引
1、聚簇索引和非聚簇索引的区别? 聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据 非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置 在innodb中,在聚簇索引之上创建的索引称之为辅助索引,非聚簇索引都是辅助索引,像复合索引、前缀索引、唯一索引。辅助索引叶子节点存储的不再是行的物理位置,而是主键值,辅助索引访问数据总是需要二次查找。 ...转载 2020-03-10 16:34:09 · 121 阅读 · 0 评论 -
MySQL之 锁
1. 锁 InnoDB存储引擎不需要锁升级,因为一个锁和多个锁的开销是相同的,实际上,只有实现本身会增加开销时,行级锁才会增加开销。 1.1 什么是锁 操作缓冲池中的LRU列表,删除、添加、移动LRU列表中的元素,为了保证一致性,必须有锁的介入。数据库系统使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。 1.2 lock和latch ...原创 2019-08-18 18:05:08 · 146 阅读 · 0 评论 -
MySQL 之 四种隔离级别
一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A...原创 2019-08-19 10:06:58 · 153 阅读 · 0 评论 -
MySQL之语法入门与基础命令
一、MySQL SELECT语句 SELECT语句是控制查看哪些列和行数据,具体如下: SELECT column_1, column_2, ... FROM table_1 [INNER | LEFT |RIGHT] JOIN table_2 ON conditions WHERE conditions GROUP BY column_1 HAVING g...原创 2019-08-16 16:27:56 · 137 阅读 · 0 评论 -
MySQL之 表
表是关于特定实体的数据集合,这也是关系型数据库模型的核心。 1索引组织表 在InnoDB存储引擎中,每张表都有一个主键(Primary Key),如果创建表时没有显示定义主键,则会按照如下方式创建主键: 存在非空的唯一索引(Unique NOT NULL),则该列为主键。 存在多个非空唯一索引时,会自动选择建表时第一个定义的非空唯一索引为主键。 如不符合上述条件,会自动...原创 2019-08-16 16:43:39 · 227 阅读 · 0 评论 -
MYSQL C API风格demo
应该将MySQL的头文件以及操作的库文件一并拷贝到工程文件中,这样即使移植到别的安装有MySQL电脑或服务器,就不需要重新定位头文件以及相关的库文件,直接操作访问数据库。 1、移植MYSQL头文件 在linux中构建的Makefile工程要安装libmysqlclient-dev才能使用API接口的头文件。 命令:sudo apt-get install libmysqlclien...原创 2019-09-24 11:31:33 · 256 阅读 · 0 评论