参数文件 my.ini
参数
innodb_buffer_pool_size
- 用来缓存被访问过的表和索引,使常用的数据可以直接在内存中北处理,提高速度。
- 在单一的数据库服务器上,可以设置为物理内存的 50%-80%
innodb_buffer_pool_instances=8
- 缓存区可以设置多个区域,各个区域之间互不干涉,提高并发性
- 只有当 innodb_buffer_pool_size设置为1G以上时,这个才会有用
innodb_buffer_pool_dump_at_shutdown
开启时,在数据库实例宕机时,会将内存中的热点数据存到ib_buffer_pool中
innodb_buffer_pool_load_at_startup
在此启动实例的时候会把热点数据加载出来
show variables like '%innodb_buffer_pool_%';
+-------------------------------------+----------------+
| Variable_name | Value |
+-------------------------------------+----------------+
| innodb_buffer_pool_chunk_size | 8388608 |
| innodb_buffer_pool_dump_at_shutdown | ON |
| innodb_buffer_pool_dump_now | OFF |
| innodb_buffer_pool_dump_pct | 25 |
| innodb_buffer_pool_filename | ib_buffer_pool |
| innodb_buffer_pool_instances | 1 |
| innodb_buffer_pool_load_abort | OFF |
| innodb_buffer_pool_load_at_startup | ON |
| innodb_buffer_pool_load_now | OFF |
| innodb_buffer_pool_size | 8388608 |
+-------------------------------------+----------------+
10 rows in set, 1 warning (0.00 sec)
innodb_data_file_path
用来显示innodb_data(系统表空间文件)数据大小和文件路径,一般这里会设置成1G,个人是默认设置
mysql> show variables like '%innodb_data_file_path%';
+-----------------------+------------------------+
| Variable_name | Value |
+-----------------------+------------------------+
| innodb_data_file_path | ibdata1:12M:autoextend |
+-----------------------+------------------------+
1 row in set, 1 warning (0.00 sec)
innodb_thread_concurrency
最大并发线程数
mysql> show variables like '%innodb_thread_%';
+---------------------------+-------+
| Variable_name | Value |
+---------------------------+-------+
| innodb_thread_concurrency | 8 |
| innodb_thread_sleep_delay | 0 |
+---------------------------+-------+
2 rows in set, 1 warning (0.00 sec)
interactive_timeout & wait_timeout
关闭交互式连接等待的时间和关闭非交互式连接等待的时间
- 交互式连接: 打开的黑框输入命令查询数据.
- 非交互式连接: 程序调用的.
mysql> show variables like '%_timeout%';
+-----------------------------+----------+
| Variable_name | Value |
+-----------------------------+----------+
| connect_timeout | 10 |
| delayed_insert_timeout | 300 |
| have_statement_timeout | YES |
| innodb_flush_log_at_timeout | 1 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| lock_wait_timeout | 31536000 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| rpl_stop_slave_timeout | 31536000 |
| slave_net_timeout | 60 |
| wait_timeout | 28800 |
+-----------------------------+----------+
innodb_flush_method
mysql刷新方法 O_SYNC, O_DSYNC, O_DIRECT
mysql> show variables like '%innodb_flush_method%';
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| innodb_flush_method | |
+---------------------+-------+
innodb_old_blocks_pct & innodb_old_blocks_time
- 不经常访问的数据占所有数据缓存的百分比
- 新数据中访问的时间间隔超过1000ms就会进行老的数据里
mysql> show variables like '%innodb_old_blocks_%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| innodb_old_blocks_pct | 37 |
| innodb_old_blocks_time | 1000 |
+------------------------+-------+
innodb_open_files
数据库同时打开.ibd 文件的数量
- .ibd文件:mysql的数据文件,索引。
mysql> show variables like '%innodb_open_files%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| innodb_open_files | 300 |
+-------------------+-------+
错误日志文件
文件位置
mysql> show variables like '%log_error%';
二进制日志文件
主要进行主从复制和数据恢复操作。
mysql> show variables like '%log_slow%';
慢查询日志
会将超过时间的sql语句记录下来,方便以后优化
mysql> show variables like '%log_slow%';
全日量日志
会把所有的sql语句记录出来,一般不启用
show variables like '%log_output%';
---------+-------+
ble_name | Value |
---------+-------+
utput | FILE |
---------+-------+
n set, 1 warning (0.00 sec)
pid 文件 .pid
mysql是单进程多线程
会把唯一的进程号存在这里
mysql> show variables like '%pid%';
表结构文件 .prm
mysql 8.0去除这个文件