Warning: Using innodb_additional_mem_pool_size is DEPRECATED

时间:2023-11-23 18:46:44
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.

转载:http://jackyrong.iteye.com/blog/1930385

根据https://blogs.oracle.com/supportingmysql/entry/remove_on_sight_thread_concurrency说的,mysql 5.6开始将丢弃三个配置文件中的参数,分别是: 
thread_concurrency, innodb_additional_mem_pool_size, innodb_use_sys_malloc 

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

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

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