如何判断mysql是innodb

如何判断mysql是innodb,第1张

mysql被设计成了一个单进程多线程架构的数据库

开始:

1、默认的InnoDB存储引擎的后台线程有7个,4个IO thread ,1个master thread 1个锁监控 thread 1个错误监控thread,IO thread 的数量由配置文件的innodb_file_io_threads参数控制,默认是4,linux下面不可以调整,但是window下面可以

show engine innodb status \G(root用户,或者你的用户有查看权限)

show variables like 'innodb_version' \G

show variables like 'innodb_%io_threads' \G

注释:我十分建议大家安装独立的mysql,不要用集成环境,因为出现问题会后悔死的

2、innodb存储引擎内存有以下部分:

buffer pool 缓冲池

redo log buffer 重做日志缓冲池

additional memory pool 额外内存池

配置文件的innodb:

# Comment the following if you are using InnoDB tables

#skip-innodb

innodb_data_home_dir = "D:/xampp/mysql/data"

innodb_data_file_path = ibdata1:10M:autoextend

innodb_log_group_home_dir = "D:/xampp/mysql/data"

#innodb_log_arch_dir = "D:/xampp/mysql/data"

## You can set .._buffer_pool_size up to 50 - 80 %

## of RAM but beware of setting memory usage too high

innodb_buffer_pool_size = 16M

innodb_additional_mem_pool_size = 2M

## Set .._log_file_size to 25 % of buffer pool size

innodb_log_file_size = 5M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

这是my.ini的配置,更多的InnoDB的配置,可以看my_innodb_heavy_4G.ini

注释:配置文件的值可能会根据不同的环境更改,上面的配置文件是在我安装之后默认的

3、缓冲池是用来存放各种数据的缓存,InnoDB存储引擎的工作方式是将数据库文件按页(每页16K)读取到缓冲池,然后按照最近最少使用(LRU)的算法保留在缓冲池中的缓存数据

输入:show engine innodb status\G

可直接在mysql命令行执行:show engine innodb status\G查看造成死锁的sql语句,分析索引情况,然后优化sql然后show processlist另外可以打开慢查询日志,linux下打开需在my.cnf的[mysqld]里面加上以下内容:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6147680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存