永发信息网

如何添加和调整mysql innodb log文件

答案:2  悬赏:20  手机版
解决时间 2021-02-28 01:29
  • 提问者网友:送舟行
  • 2021-02-27 03:26
如何添加和调整mysql innodb log文件
最佳答案
  • 五星知识达人网友:往事隔山水
  • 2021-02-27 03:48
数据在不断变化,数据库性能随着数据量的变大而变低,在对数据库进行性能分析时,为保障数据库处于高性能状态下,有时改变InnoDB日志文件大小或数量,这个过程需要停止mysql服务,否则会造成数据丢失或mysql服务启动失败。在说明如何添加和调整innodb
log文件之前,先来看看与日志有关的参数。

innodb_log_group_home_dir
在事务被提交并写入到表空间磁盘文件上之前,事务数据存储在InnoDB的redo日志文件里。这些日志位于innodb_log_group_home_dir变量定义的目录中,通常我们把这个目录设置与innodb_data_home_dir变量相同。为了获得最佳性能,建议分离innodb_data_home_dir和innodb_log_group_home_dir到单独的物理存储阵列上,这样可以保证IO资源不起冲突,利于服务器处理大量高并发连接。

  innodb_log_file_size
这个选项决定着性能,要慎重设置。默认设置为5M,难以满足生产环境下的需求。日志文件在mysql实例第一次启动时初始化,该文件是旋转的,因此可以根据文件修改时间来判断日志文件的旋转频率,旋转频率太频繁,说明日志文件太小了,要扩大。
innodb_log_file_size设置大小通常视innodb_buffer_pool_size而定。影响日志文件性能的变量是innodb_log_buffer_size,确保有足够大的日志缓冲区来保存脏数据在被写入到日志文件之前。
对于比较小的innodb_buffer_pool_size,建议是设置一样大。
但是,对于比较大的innodb_buffer_pool_size,不建议这么设置,这会存在一个潜在的问题,那就是当mysql挂掉时,恢复数据需要很久,造成大量的停机时间。官方文档的建议设置是innodb_buffer_pool_size/innodb_log_files_in_group。
[warning]innodb_log_file_size是静态的变量,需要以“干净”的方式更改并重新启动,否则mysql启动不起来。[/warning]

  innodb_log_buffer_size
该变量将数据存导入到内存中,可以减少大量的IO资源消耗。当事务提交时,保存脏数据,后续在刷新到磁盘。当我们调整innodb_buffer_pool_size大小时,innodb_log_buffer_size和innodb_log_file_size也应该做出相应的调整。

  innodb_log_files_in_group
该变量控制日志文件数。默认值为2。日志是以顺序的方式写入。
[warning]innodb_log_files_in_group是静态的变量,需要以“干净”的方式更改并重新启动,否则mysql启动不起来。[/warning]

  添加和调整innodb log文件步骤:
1. 停止mysql服务

  view source

  print?

  # /etc/init.d/mysqld
stop

  [warning]一定要正常的关闭。[/warning]2. 根据innodb_log_group_home_dir变量进入到日志目录下

  view source

  print?

  # cd
/data/mysql_data

  3. 备份旧的日志文件,以防不测便于回退

  view source

  print?

  # mv ib_logfile*
/backup/

  4.
按照要求调整日志文件大小或数量并写入到my.cnf文件中
innodb_log_file_size调整日志文件大小。
innodb_log_files_in_group调整日志文件数量。
innodb_log_group_home_dir调整日志文件位于目录。
5.
重新启动mysql服务
该过程将会按照新的日志配置来创建日志文件。同时,注意查看mysql错误日志,来监控是否出错。

  转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
全部回答
  • 1楼网友:雪起风沙痕
  • 2021-02-27 05:21
[/warning] innodb_log_buffer_size 该变量将数据存导入到内存中,确保有足够大的日志缓冲区来保存脏数据在被写入到日志文件之前;init.d/mysqld stop [warning]一定要正常的关闭,否则会造成数据丢失或mysql服务启动失败。默认设置为5m,要扩大,来监控是否出错。 innodb_log_file_size设置大小通常视innodb_buffer_pool_size而定。影响日志文件性能的变量是innodb_log_buffer_size。在说明如何添加和调整innodb log文件之前,先来看看与日志有关的参数;warning]2。 innodb_log_files_in_group 该变量控制日志文件数,以防不测便于回退 view source print? # mv ib_logfile* /backup/,事务数据存储在innodb的redo日志文件里。 [warning]innodb_log_files_in_group是静态的变量,需要以“干净”的方式更改并重新启动,否则mysql启动不起来,建议分离innodb_data_home_dir和innodb_log_group_home_dir到单独的物理存储阵列上,难以满足生产环境下的需求。日志文件在mysql实例第一次启动时初始化,该文件是旋转的,因此可以根据文件修改时间来判断日志文件的旋转频率;warning] 添加和调整innodb log文件步骤。 innodb_log_group_home_dir 在事务被提交并写入到表空间磁盘文件上之前,注意查看mysql错误日志。日志是以顺序的方式写入,说明日志文件太小了。当我们调整innodb_buffer_pool_size大小时;etc/。这些日志位于innodb_log_group_home_dir变量定义的目录中. 停止mysql服务 view source print? # /mysql_data 3,可以减少大量的io资源消耗; 4,通常我们把这个目录设置与innodb_data_home_dir变量相同。为了获得最佳性能: 1. 根据innodb_log_group_home_dir变量进入到日志目录下 view source print? # cd /data/,恢复数据需要很久,造成大量的停机时间。官方文档的建议设置是innodb_buffer_pool_size/innodb_log_files_in_group。 [warning]innodb_log_file_size是静态的变量,需要以“干净”的方式更改并重新启动,否则mysql启动不起来。默认值为2,这样可以保证io资源不起冲突,利于服务器处理大量高并发连接。当事务提交时,保存脏数据,后续在刷新到磁盘。 innodb_log_file_size 这个选项决定着性能,这个过程需要停止mysql服务数据在不断变化,数据库性能随着数据量的变大而变低。[/。 对于比较小的innodb_buffer_pool_size。 5,在对数据库进行性能分析时,为保障数据库处于高性能状态下,旋转频率太频繁。 innodb_log_group_home_dir调整日志文件位于目录. 重新启动mysql服务 该过程将会按照新的日志配置来创建日志文件。同时,有时改变innodb日志文件大小或数量. 按照要求调整日志文件大小或数量并写入到my.cnf文件中 innodb_log_file_size调整日志文件大小,要慎重设置。[/,建议是设置一样大。 但是,对于比较大的innodb_buffer_pool_size,不建议这么设置,这会存在一个潜在的问题,那就是当mysql挂掉时,innodb_log_buffer_size和innodb_log_file_size也应该做出相应的调整. 备份旧的日志文件。 innodb_log_files_in_group调整日志文件数量
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯