mysql
xm93cc
这个作者很懒,什么都没留下…
展开
-
MySql常用的数据库引擎详解(InnoDB,MyISAM ,MEMORY,MERGE)
如何查看当前mysql所支持的数据库引擎? 可以使用 show engines;命令查看InnoDBInnoDB存储弓|擎是Mysq|的默认存储引擎。InnoDB存储引擎提供了具有提交、回滚、崩溃恢复能力的事务安全。但是对比MyISAM的存储引擎, InnoDB写的处理效率差-些,并且会占用更多的磁盘空间以保留数据和索引。InnoDB存储引擎不同于其他存储引擎的特点:事务控制,在mysql对innodb引擎的表 在文件系统的表现方式为:tablename.frm表结构文件和tablename.i原创 2020-09-27 11:30:15 · 185 阅读 · 0 评论 -
Mysql索引以及使用索引注意事项
直接创建索引CREATE INDEX index_name ON table(column(length))修改表结构的方式添加索引ALTER TABLE table_name ADD INDEX index_name ON (column(length))创建表的时候同时创建索引CREATE TABLE table (id int(11) NOT NULL AUTO_INCREMENT ,title char(255) CHARACTER SET utf8 COLLATE utf8_gene原创 2020-09-27 11:27:10 · 1574 阅读 · 0 评论 -
MYSQL缓存配置及优化
查询缓存配置1.查看当前的MySQL数据库是否支持查询缓存: SHOW VARIABLES LIKE 'have_query_cache' ;2.查看当前MySQL是否开启了查询缓存: SHOW VARIABLES LIKE 'query_cache_type' ;3.查看查询缓存的占用大小:SHOW VARIABLES LIKE 'query_cache_size' ;4.查看查询缓存的状态变星:SHOW STATUS LIKE 'Qcache%' ;Qcache_ free_原创 2020-09-27 11:24:17 · 390 阅读 · 0 评论 -
MYSQL锁机制详解和优化
锁分类从对数据操作的粒度分:1)表锁:操作时,会锁定整个表。2)行锁:操作时,会锁定当前操作行。从对数据操作的类型分:1)读锁(共享锁) :针对同一份数据,多个读操作可以同时进行而不会互相影响。2)写锁(排它锁) :当前操作没有完成之前,它会阻断其他写锁和读锁。简而言之,就是读锁会阻塞写,但是不会阻塞读。而写锁,则既会阻塞读,又会阻塞写。InnoDB行锁行锁介绍行锁特点: 偏向InnoDB存储引擎,开销大,加锁慢;会出现死锁;锁定粒度最小T发生锁冲突的概率最低并发度也最高。InnoD原创 2020-09-27 11:22:49 · 149 阅读 · 0 评论 -
Mysql搭建主从复制详细步骤
master1 )在master的配置文件( /usr/my.cnf)中,配置如下内容:#mysq1 服务ID,保证整个集群环境中唯一server-id=1#mysq1 binlog 日志的存储路径和文件名log-bin=/var/1ib/mysq1/mysq1bin#是否只读,1 代表只读,0代表读写read-only=0#忽略的数据, 指不需要同步的数据库binlog-ignore-db=mysql2)执行完毕之后,需要重启Mysql: service mysql restart原创 2020-09-27 11:20:32 · 79 阅读 · 0 评论 -
Mysql日志(错误日志, 二进制日志bin_log)详解
Mysql日志在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事件。MySQL 也不例外,在MySQL中,有4种不同的日志,分别是错误日志二进制日志( BINLOG日志)、查询日志和慢查询日志,这些日志记录着数据库在不同方面的踪迹。错误日志错误日志是MySQL中最重要的日志之一, 它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。该日志是默原创 2020-09-27 11:18:53 · 384 阅读 · 0 评论 -
Mysql Redo_log工作原理和bin_log
一、日志类型redo log在数据库重启恢复的时候被使用,因为其属于物理日志的特性,恢复速度远快于逻辑日志。而我们经常使用的binlog就属于典型的逻辑日志。二、 checkpoint坦白来讲checkpoint本身是比较复杂的,checkpoint所做的事就是把脏页给刷新回磁盘。所以,当DB重启恢复时,只需要恢复checkpoint之后的数据。这样就能大大缩短恢复时间。当然checkpoint还有其他的作用。三、 LSN(Log Sequence Number)LSN实际上就是InnoDB使用的原创 2020-09-27 11:16:06 · 413 阅读 · 0 评论 -
Mysql内存管理及优化
Mysql内存管理及优化内存优化原则1)将尽量多的内存分配给MySQL做缓存,但要给操作系统和其他程序预留足够内存。2)MyISAM 存储引擎的数据文件读取依赖于操作系统自身的IO缓存,因此,如果有MyISAM表,就要预留更多的内存给操作系统做IO缓存。3)排序区、连接区等缓存是分配给每个数据库会话( session )专用的,其默认值的设置要根据最大连接数合理分配,如果设置太大,不但浪费资源,而且在并发连接较高时会导致物理内存耗尽。MyISAM内存优化myisam存储引擎使用key. buff原创 2020-07-08 13:32:57 · 161 阅读 · 0 评论 -
Mysql缓存和常见缓存失效问题
查询缓存配置1.查看当前的MySQL数据库是否支持查询缓存: SHOW VARIABLES LIKE 'have_query_cache' ;2.查看当前MySQL是否开启了查询缓存: SHOW VARIABLES LIKE 'query_cache_type' ;3.查看查询缓存的占用大小:SHOW VARIABLES LIKE 'query_cache_size' ;4.查看查询缓存的状态变星:SHOW STATUS LIKE 'Qcache%' ;Qcache_ free_原创 2020-07-08 13:30:36 · 1614 阅读 · 0 评论 -
mysql分析sql和sql优化
sql优化插入优化插入数据的时候可一条语句多个值,或者是开启事务,每隔插入多条数据后在提交order by 优化尽量减少额外的排序,通过索引直接返回有序数据。where条件和Order by使用相同的索引,并且Order By的顺序和索引顺序相同,并且Order by的字段都是升序,或者都是降序。否则肯定需要额外的操作,这样就会出现FileSort.优化group by语句由于GROUP BY实际上也同样会进行排序操作,而且与ORDER BY相比, GROUP BY主要只是多了排序之后的分组操原创 2020-07-08 13:27:09 · 103 阅读 · 0 评论 -
mysql索引以及索引失效场景
索引直接创建索引CREATE INDEX index_name ON table(column(length))修改表结构的方式添加索引ALTER TABLE table_name ADD INDEX index_name ON (column(length))创建表的时候同时创建索引CREATE TABLE table (id int(11) NOT NULL AUTO_INCREMENT ,title char(255) CHARACTER SET utf8 COLLATE utf8_g原创 2020-07-08 13:20:14 · 175 阅读 · 0 评论