Mysql [Warning] Using innodb_additional_mem_pool_size is DEPRECATED

Mysql 日志文件提示:[Warning] Using innodb_additional_mem_pool_size is DEPRECATED 警告。
mysql 5.6开始将丢弃三个配置文件中的参数,分别是:
thread_concurrency、 innodb_additional_mem_pool_size、 innodb_use_sys_malloc。


thread_concurrency:

这个是给旧版本的solaris用的,在新的solaris 11中已经不用了,从5.6.1开始丢弃这个参数。


innodb_additional_mem_pool_size:

这个参数原来的用法如下:
这个参数用来设置 InnoDB 存储的数据目录信息和其它内部数据结构的内存池大小。应用程序里的表越多,你需要在这里分配越多的内存。对于一个相对稳定的应用,这个参数的大小也是相对 稳定的,也没有必要预留非常大的值。如果 InnoDB 用光了这个池内的内存, InnoDB 开始从操作系统分配内存,并且往 MySQL 错误日志写警告信息。默认值是 1MB ,当发现错误日志中已经有相关的警告信息时,就应该适当的增加该参数的大小。
但从mysql 5.6.3开始,不再需要这个参数了。


innodb_use_sys_malloc 这个参数,含义为

操作系统内存分配程序使用控制——用户现在可以控制,InnoDB是使用自带的内存分配程序,还是使用当前部署的操作系统中现有的更高效的内存分配程序。通过在MySQL 5.5 选项文件(my.cnf)中设置新的系统配置参数innodb_use_sys_malloc,可方便地进行控制。
默认设置值为1,
设置为0:表示Innodb使用自带的内存分配程序。
设置为1:表示InnoDB使用操作系统的内存分配程序。

但随着mysql 的进步和各操作系统的进步,从mysql 5.6.3开始,则不需要再使用这个参数了,
如果目前使用的是5.1,InnoDB plugin, 5.5 or 5.6 则建议使用的参数值为1。

所以 Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB‘s internal memory allocator.
这个解决方式: innodb_use_sys_malloc = 1

相关文章