Confulence 提示InnoDB日志文件大小太小的警告,修改 innodb_log_file_size
Linux: Centos7.9
1.systemctl stop mariadb
2.转移logfile,(先转移到别的目录下备份,等后面重启mysql会自己重新生成)
cd /var/lib/mysql
mv ib_logfile* /mnt/backup_mysql
mv aria_log* /mnt/backup_mysql
3.vim /etc/my.cnf 增加 innodb_log_file_size=512M
4.systemctl restart mariadb
5.登录web检查
参考资料
1.了解innodb_log_file_size参数(本段引自博文:https://blog.csdn.net/kai404/article/details/80242262)
MySQL的InnoDB 存储引擎使用一个指定大小的Redo log空间(一个环形的数据结构),Redo log的空间通过innodb_log_file_size和innodb_log_files_in_group(默认为2)参数来调节。将这俩参数相乘即可得到总的可用Redo log 空间。尽管技术上并不关心你是通过innodb_log_file_size还是innodb_log_files_in_group来调整Redo log空间,不过多数情况下还是通过innodb_log_file_size 来调节。
为InnoDB引擎设置合适的Redo log空间对于写敏感的工作负载来说是非常重要的,然而,这项工作是要做出权衡的。配置的Redo空间越大,InnoDB就能更好的优化写操作;然而,增大Redo空间也意味着更长的恢复时间当出现崩溃或掉电等意外时。
关于恢复时间,并不好预测对于一个指定的 innodb_log_file_size 值出现崩溃是需要多长的恢复时间–他取决于硬件能力、MySQL版本以及工作负载等因素。然而,一般情况下我们可以按照每1GB的Redo log的恢复时间大约在5分钟左右来估算。如果恢复时间对于你的使用环境来说很重要,我建议你做一些模拟测试,在正常工作负载下(预热完毕后)模拟系统崩溃,来评估更准确的恢复时间。
虽然恢复时间可以作为一个限制innodb_log_file_size的参考因素,也还有一些别的方式可以观察该参数设置是否“合理”。
2.修改innodb_log_file_size参数
MySQL变量分为全局系统变量和会话系统变量(全局系统变量影响服务器的全局操作,会话变量只影响具体客户端连接相关操作),innodb_log_file_size是全局系统变量,SET GLOBAL var_name语句可以动态更改部分全局变量的值,动态修改的参数在MySQL服务重启后会失效,只有写入配置文件才能够重启后仍有效。对于一些无法动态修改的参数,只能通过修改配置文件,然后重启来使之生效,比如innodb_log_file_size。
这里为了跟项目对应的uat和生产环境innodb_log_file_size参数值一致,这里设置为1500M。
--修改前 mysql:[(none)] 15:56:32> show variables like 'innodb_log_file_size'; +----------------------+----------+ | Variable_name | Value | +----------------------+----------+ | innodb_log_file_size | 50331648 | +----------------------+----------+ 1 row in set (0.00 sec) mysql:[(none)] 15:56:32> select 50331648/1024/1024; +--------------------+ | 50331648/1024/1024 | +--------------------+ | 48.00000000 | +--------------------+ 1 row in set (0.00 sec) --开始修改 [root@chengyu ~]# /etc/init.d/mysql stop [root@chengyu ~]# mv /home/mysql/data/ib_logfile* /home/ [root@chengyu ~]# vim /etc/my.cnf innodb_log_file_size=1500M [root@chengyu ~]# /etc/init.d/mysql start --修改后 mysql:[(none)] 15:56:32> show variables like 'innodb_log_file_size'; +----------------------+------------+ | Variable_name | Value | +----------------------+------------+ | innodb_log_file_size | 1572864000 | +----------------------+------------+ 1 row in set (0.00 sec) mysql:[(none)] 15:56:32> select 1572864000/1024/1024; +----------------------+ | 1572864000/1024/1024 | +----------------------+ | 1500.00000000 | +----------------------+ 1 row in set (0.00 sec)
测试环境innodb_log_file_size参数值修改完毕
本文来自希曼博客-www.ximan.tech,作者:希曼博客,转载请注明原文链接:https://www.cnblogs.com/lihuaichen/p/15244245.html