关于mysql8:新特性解读-MySQL-80-在线调整-REDO
作者:杨涛涛 资深数据库专家,专研 MySQL 十余年。善于 MySQL、PostgreSQL、MongoDB 等开源数据库相干的备份复原、SQL 调优、监控运维、高可用架构设计等。目前任职于爱可生,为各大运营商及银行金融企业提供 MySQL 相干技术支持、MySQL 相干课程培训等工作。 本文起源:原创投稿 *爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。 MySQL 最新版本 8.0.30 的公布带来一个与 REDO 日志文件无关的新性能点: 在线调整 REDO 日志文件的大小!极大的简化了运维的工作量(经验过的同学都懂)! 通常一台 MySQL 实例部署完后,REDO 日志文件大小个别不会放弃默认值,DBA 同学会依据数据的写入量以及频率来调整其为适合的值。与业务匹配的 REDO 日志文件大小能让数据库获得最佳的性能(如何让 REDO 日志文件的大小匹配现有业务不在本篇探讨范畴)。 上面对 MySQL 8.0.30 之前以及之后的版本,比照 REDO 日志文件的更改过程,体验下最新版本的易用性。 8.0.30 之前,如何更改 REDO 日志文件大小?针对这些版本,批改 REDO 日志文件大小的步骤比拟繁琐。假如须要更改其大小为 2G ,步骤如下: 1、 REDO 日志文件的更改波及两个传统参数:其最终大小是这两个参数的值相乘。(1) innodb_log_files_in_group: REDO 日志磁盘上的文件个数,默认为2。 (2) innodb_log_file_size: REDO 日志磁盘上单个文件的大小,默认为48M。 (3)以后的日志大小为单个48M,两个组,也就是一共96M。 root@ytt-large:~/sandboxes/msb_5_7_34/data# ls -sihl ib_logfile*3277012 48M -rw-r----- 1 root root 48M 7月 29 16:18 ib_logfile03277013 48M -rw-r----- 1 root root 48M 7月 29 16:18 ib_logfile12、“敞开”疾速停实例参数:innodb_fast_shutdown = 0 以确保 InnoDB 刷新所有脏页到磁盘(须要理解此参数的其余值请参见官网手册):<mysql:(none):5.7.34-log>set global innodb_fast_shutdown=0;Query OK, 0 rows affected (0.00 sec)3、等步骤二执行完后,停掉MySQL实例。4、删掉数据目录下旧日志文件:root@ytt-large:~/sandboxes/msb_5_7_34/data# rm -rf ib_logfile*5、在配置文件 my.cnf 里批改参数 innodb_log_file_size ,因为有两个组,设置这个参数为 1G 即可。[mysqld]innodb_log_file_size=1G6、启动 MySQL 实例(如果没有报错,代表更改胜利)。7、查看新的日志文件大小:root@ytt-large:~/sandboxes/msb_5_7_34/data# ls -sihl ib_logfile*3277898 1.1G -rw-r----- 1 root root 1.0G 7月 29 16:31 ib_logfile03277923 1.1G -rw-r----- 1 root root 1.0G 7月 29 16:31 ib_logfile18.0.30 之后,如何更改 REDO 日志文件大小?最新版本 MySQL 8.0.30 公布后,应用新参数innodb_redo_log_capacity来代替之前的两个参数(目前设置这两个参数仍然无效)。应用新参数调整大小非常简单,间接设置为要调整的值就行。比方调整其大小为2G: ...