
Mysql 基本管理
翔之天空
很懒,什么都没留下
展开
-
mysql的 可变长字段定义在255字节长度 前后变化的过程
参考:https://dev.mysql.com/doc/refman/5.7/en/innodb-online-ddl-operations.htmlhttps://dev.mysql.com/doc/internals/en/innodb-field-start-offsets.htmlhttps://dev.mysql.com/doc/internals/en/innodb-extra-bytes.htmlhttps://www.cnblogs.com/vinchen/p/33...原创 2021-01-07 16:09:10 · 1456 阅读 · 0 评论 -
Mysql—参数设置
参照:https://github.com/jdaaaaaavid/mysql_best_configurationmysql的参数设置,要根据资源做具体设置,以姜老师的参数设置为例,做个参数的解释而已。32 CPU core 256G Memory SSD storage with 20000 IOPS in 16K page size服务器资源如上,mysql的...原创 2020-01-15 10:40:55 · 1029 阅读 · 0 评论 -
Mysql性能排查—结合操作系统线程 查看mysql中的sql资源消耗
当系统资源紧张时,可以通过系统的线程id 来查找对应mysql的sql语句。 以便快速定位问题。--一、结合操作系统线程 查看mysql中的sql资源消耗 (5.7才可以, 5.7时performance_schema.threads表才加入的thread_os_id系统线程字段)--1、top -H 查看具体线程的CPU消耗[root@h...原创 2019-12-20 18:21:50 · 2262 阅读 · 0 评论 -
Mysql内部XA、两阶段提交、组提交(group commit)
--5.6及以后 binlog和redo log 两个日志都会组提交(group commit) --先写事务的redo 但不事务提交,然后写binlog,最后提交事务 --两阶段提交(红色为事务,绿色为二进制日志)1、prepare阶段:存储引擎(innodb redo)事务 redo写完 但未提交 返回OK状态 写入二进制日志的顺序和存储引擎(innodb re...原创 2019-01-21 18:35:56 · 871 阅读 · 0 评论 -
Linux环境安装Mysql数据库的三种方式之一:二进制包方式安装
本文是在CentOS7系统平台下安装Mysql5.6.26版本数据库的操作说明,如有错误,请指正。系统平台:CentOS-7-x86_64 数据库版本:mysql-5.6.26Mysql镜像文件下载地址:http://dev.mysql.com/downloads/mirrors.html本次演示的Mysql安装包版本:mysql-5.6.26-linux-glibc...原创 2015-08-31 17:07:27 · 9352 阅读 · 1 评论 -
Mysql的存储引擎之:CSV存储引擎
CSV存储引擎是基于CSV格式文件存储数据的。建立CSV存储引擎的表建立一个基于csv存储引擎的表table_csv(注意字段要非空)mysql> create table table_csv(id int notnull ,name varchar(10) not null) engine=csv;Query OK, 0 rows affected (0.00 ...原创 2015-09-01 15:23:12 · 1781 阅读 · 1 评论 -
Mysql的存储引擎之:MyISAM存储引擎
MyISAM存储引擎是mysql5.5版本之前的的默认存储引擎。1、建立MyISAM存储引擎的表创建一个基于MyISAM存储引擎的表table_myisam:mysql> create table table_myisam(id int) engine=myisam ;Query OK, 0 rows affected (0.00 sec)查看下tabl...原创 2015-09-07 15:26:44 · 774 阅读 · 1 评论 -
Mysql的存储引擎之:MERGE存储引擎
Merge是基于MyISAM存储引擎的表,所以Merge存储引擎也叫做MGR_MyISAM存储引擎,作用是将一组MyISAM存储引擎的表聚合成一张表。Merge中要聚合的MyISAM表的列和索引必须有相同的定义及顺序。建立MERGE存储引擎的表建立两个基于MyISAM存储引擎的表table_myisam1、tabl_myisam2:mysql> creat...原创 2015-09-02 17:24:01 · 2813 阅读 · 1 评论 -
Mysql的存储引擎之:MEMORY存储引擎
MEMORY存储引擎Memory存储的表就是内存表。实际的数据存储在内存中,磁盘中只有表结构定义文件。Mysql服务单独给memory存储引擎的表分配内存空间,而且表一直持有这些内存空间(即使删除数据也不释放内存),直到有drop、alter、create等重建对象才能释放内存。注:内存的占用空间由max_heap_table_size参数控制,默认16M。当心!...原创 2015-09-02 15:00:28 · 2375 阅读 · 1 评论 -
Mysql的存储引擎之:ARCHIVE存储引擎
ARCHIVE存储引擎:顾名思义:归档(是适用于存放大量数据的存储引擎);支持select、insert等操作; 不支持delete 、update、索引等操作;使用zlib无损数据压缩算法,节省空间;适用于大量历史数据(可查询但不能删除)的保存;建立俩个不同存储引擎的表,来测试ARCHIVE存储引擎的表的占用空间情况:首先建立一个myisam存储...原创 2015-09-01 16:26:14 · 2848 阅读 · 1 评论 -
Mysql的存储引擎之:InnoDB存储引擎
InnoDB是Mysql5.6之后默认的存储引擎。建表时无需指定引擎,建立的就是InnoDB表。1、建立InnoDB存储引擎的表建立一个基于InnoDB存储引擎的表table_innodb:mysql> create table table_innodb (id int);Query OK, 0 rows affected (0.06 sec)...原创 2015-09-08 16:23:39 · 755 阅读 · 1 评论 -
mysql 自增值&自增锁
参考:《mysql内核:innodb存储引擎》第九章 mysql实战45讲—自增主键为什么不是连续的? [MySQL源码] Innodb如何处理auto_inc值:https://yq.aliyun.com/articles/40926 [MySQL Bug]bug#61209简析:https://yq.aliy...原创 2019-04-30 19:01:27 · 972 阅读 · 0 评论 -
Mysql索引
参考:《MySQL高性能》第五章 《MySQL技术内幕:innodb存储引擎》第五章B+tree树索引聚簇索引(一级索引):主键(无主键时指定一个唯一非空索引代替,无唯一非空索引时隐式的指定主键rowid代替),叶子节点中存储行的所有数据辅助索引(二级索引):普通索引,叶子节点只存储索引列对应的数据和主键列(用于去聚簇索引查找数据)...原创 2019-06-27 17:52:49 · 412 阅读 · 0 评论 -
Mysql优化器的sql跟踪_optimizer_trace
--查看优化器跟踪是否状态mysql> SHOW VARIABLES LIKE '%optimizer_trace%';+------------------------------+----------------------------------------------------------------------------+| Variable_name ...原创 2019-01-21 18:22:38 · 1056 阅读 · 0 评论 -
Mysql统计信息
--Mysql的统计信息 官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-persistent-stats.html--统计信息可以持久化保存在数据库的表中--持久化保存的条件 :参数innodb_stats_persistent=on(默认为on) 或者 建表时加上 STATS_PERSISTENT=1mysql>...原创 2019-01-21 18:19:34 · 726 阅读 · 0 评论 -
Mysql语句性能消耗_profiling
profiling的官方文档:https://dev.mysql.com/doc/refman/5.7/en/show-profile.html--查看profiling参数,默认offmysql> SHOW VARIABLES LIKE '%profiling%';+------------------------+-------+| Variable_name ...原创 2019-01-21 18:20:44 · 397 阅读 · 0 评论 -
Mysql连接数据库时host和user的匹配规则
--连接数据库时,host和user的匹配规则 官方文档:https://dev.mysql.com/doc/refman/5.7/en/connection-access.html--host和user的匹配规则如下:--是host为明确的最先匹配,host带%模糊的时候最后匹配,但host为''(空)位于%之后才匹配--相同的host时候,比较user为明确的最先匹配,us...原创 2018-12-07 01:18:07 · 11712 阅读 · 0 评论 -
Mysql内存管理_Buffer Pool
--innodb_buffer_pool的内存管理,官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool.html https://dev.mysql.com/doc/ref...原创 2019-01-21 10:27:47 · 1521 阅读 · 0 评论 -
Mysql内存管理_Change Buffer
插入缓冲,官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-change-buffer.html 阿里内核月报:http://mysql.taobao.org/monthly/2015/07/01/ 使用条件:辅助索引(二级索引) 且 非唯一索引 使用范围:包括 insert、update、delete ...原创 2019-01-21 11:04:38 · 902 阅读 · 0 评论 -
Mysql双写_DoubleWrite
目的:防止页损坏,原理:在内存中开辟了 doublewrite buffer 内存空间(2M),将脏页复制到doublewrite buffer 内存空间后, 先把doublewrite buffer的页数据写入到共享表空间ibdata1磁盘上,复制了页的副本完成之后, 再将 doublewrite buffer的页数据写入到各个表空间文件中。 数据页默认16k,一次写入512字节,防...原创 2019-01-21 17:37:32 · 3655 阅读 · 1 评论 -
Mysql磁盘管理_Undo Tablespace
undo表空间基本配置,官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-undo-tablespaces.html 回滚段,逻辑日志,相反操作mvcc 实现非锁定读--配置几个undo表空间,默认不创建,放在ibdata 共享表空间--必须初始化实例的时候配置,且不能改变:The number of undo tables...原创 2019-01-21 17:39:22 · 683 阅读 · 0 评论 -
Mysql检查点CheckPoint、LSN、redo日志 的刷新关系
官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-checkpoints.html 检查点:为了刷新buffer pool的数据page到磁盘中,使得持久化数据page之前相应的redo log可以失效掉 节约出空间可以被覆盖,也同时加快了 crash时 redo log恢复的速度 即从检查点恢复即可。 ...原创 2019-01-21 17:44:15 · 3952 阅读 · 0 评论 -
Mysql内存管理_Mysql缓冲池内存预热
在关闭实例重新启动数据库时,可以预热上次关闭时的内存数据,防止磁盘读增加I/O,可以配置如下参数 在关闭实例时dump一个ib_buffer_pool文件 来存放上次关闭时的内存数据 再次启动实例时加载进去 --1、参数配置如下:#启动MySQL服务时,MySQL将本地热数据加载到InnoDB缓冲池中 预热#innodb_buffer_pool_load_at_startu...原创 2019-01-21 17:48:20 · 863 阅读 · 0 评论 -
Mysql服务的启动&关闭
Mysqld 服务器Mysql 客户端--mysqld方式关闭mysql数据库服务[root@hostmysql-m pt-index-usage]# service mysqld stopStopping mysqld: [ OK ]--查看mysql数据库服务状态[root@host...原创 2019-01-21 17:50:49 · 360 阅读 · 0 评论 -
Mysql重置root用户密码
官方文档:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html B.6.3.2.3 Resetting the Root Password: Generic Instructions --skip-grant-tables跳过权限表的认证,任意用户可进入mysql可配合--skip-networ...原创 2019-01-21 17:52:31 · 313 阅读 · 0 评论 -
Mysql隐藏的风险文件
Mysql隐藏的风险文件 有两个 1:.mysql_history 文件,记录mysql在主机的所有操作(包括有密码修改等)2:.mysql_secret 文件,记录初始的root密码--在安装mysql用户的当前目录下,查看两个文件[root@hostmysql-m ~]# ll .mysql*-rw------- 1 root root 33830 Oct 25 1...原创 2019-01-21 17:54:16 · 528 阅读 · 0 评论 -
Mysql_innodb行锁检测
Mysql_innodb行锁检测手段--常用命令:mysql> show processlist\Gmysql> show engine innodb status\Gmysql> select * from innodb_locks\Gmysql> select * from innodb_lock_waits\Gmysql> sele...原创 2019-01-21 17:57:50 · 581 阅读 · 0 评论 -
Mysql等待事件
--查看配置表如下:mysql> SELECT table_name FROM information_schema.tables t WHERE t.table_schema='performance_schema' AND t.table_name LIKE 'setup%' ;+-------------------+| t...原创 2019-01-21 18:15:59 · 3642 阅读 · 0 评论 -
Mysql隔离级别与锁
原创 2018-10-25 13:01:15 · 260 阅读 · 0 评论