时间:2021-07-01 10:21:17 帮助过:22人阅读
mysql启动后(可以把mysql类比为一个后台的服务器),等待客户端请求,当请求到来后,mysql建立一个一个线程处理(线程池则分配一个空线程,当然也可使用nio线程模型。),每个线程独立,拥有独自内存空间。当请求为select请求则没有关系,但是请求为update时,多线程同时修改一块内存,就会引发一系列问题,由此引出 “锁“的概念。
查看mysql当前连接数:
show VARIABLES like ‘%max_connections%‘
修改mysql连接数为200
set GLOBAL max_connections = 200
同时当客户端连接到mysql服务器时,服务器会对其进行权限验证,包括,ip,用户名,密码的验证,同时还要验证是否有对操作某一个库,表的权限。
show variables like ‘%query_cache_type%‘
SET GLOBAL query_cache_size = 188888888;
是否打开mysql查询结果缓存,默认关闭,打开后,mysql会对查询出来的结果进行缓存,实际应用中业务数据一般不在db层缓存
mysql默认打开sql解析缓存;平时我们说的sql缓存,一般指的sql解析缓存。
mysql对客户端传入的sql语句会按照一定的规则进行sql解析,而后进行sql优化,最后执行优化过的sql语句。而不是直接执行。
show engines;查看存储引擎
进入show VARIABLES like ‘datadir‘ 查看mysql数据文件所在路径,发现myisam引擎会生产三个数据文件,xxx.frm存储表结构文件,所有引擎都有此文件,xxx.MYD存储表数据文件,xxx.MYI存储表索引文件
特性:
并发性
支持表级锁,
支持全文检索,
支持数据文件压缩
试用场景:
只读类应用;
非事物行应用(数据仓库,报表,数据)
空间类应用(坐标)
show VARIABLES like ‘innodb_file_per_table‘ 查看innodb表空间类型
set global innodb_file_per_table=off 设置innodb使用系统表空间
mysql5.6以前默认使用系统表空间
系统表空间无法简单的收缩文件大小。
独立表空可以通过optimize table 收缩系统文件
系统表空间会产生io瓶颈
独立表空间可以同时向多个文件刷新数据
推荐使用独立表空间
特性:
Innodb是一种事务性存储引擎
完全支持事物的acid特性
redo Log和Undo Log
Innodb支持行级锁(并发度更高)
试用场景
适合大多数的oltp应用。
特点:
以csv格式进行数据存储,
所有列都不能为空,
不支持索引,
可以直接对数据文件直接编辑(直接修改文本文件,达到修改表的目的)。
create table mycsv(id int not null,c1 VARCHAR(10) not null,c2 char(10) not null)
engine=csv;
insert into mycsv values(1,‘aaa‘,‘bbb‘),(2,‘cccc‘,‘dddd‘);
修改文本数据
flush TABLES;
select * from mycsv
create index idx_id on mycsv(id)
应用场景:
需要频繁导入导出表数据的场景,如财务报表类
应用场景:日志以及数据采集。
show VARIABLES like ‘max_heap_table_size‘ 查看memory引擎最大空间。
使用场景:
hash索引用于查找或者是映射表(邮编和地区对应)
用于保存数据分析中产生的中间表
用于缓存周期性聚合数据的结果表
memory数据容易丢失,所以要求数据可再生。
Ferderted
特点:提供了远程访问mysql服务器上表的方法
本地不存储数据,数据全部放到远程服务器上
本地需要保存表结构和远程服务器的连接信息
使用场景:边界数据库,表 同步
该引擎默认禁止,启用时需增加federated参数
表明,列名需要与远程表相同
CREATE TABLE `local_fed` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`c1` varchar(10) NOT NULL DEFAULT ‘‘,
`c2` char(10) NOT NULL DEFAULT ‘‘,
PRIMARY KEY (`id`)
) ENGINE=federated CONNECTION
=‘mysql://root:123456@127.0.0.1:3306/remote/remote_fed‘
待续。。。。。。
mysql删库跑路必会姿势(基础篇:MySql架构与存储引擎)
标签:导出 inf 修改 简单的 oca 9.png 远程访问 roo 文件大小