mysql5.6.16,rpm安装后运行,日志内出现以下错误:
2014-01-30 00:52:59 17504 [Warning] Buffered warning: Performance schema disabled (reason: init failed).
2014-01-30 00:52:59 17504 [Note] Plugin 'FEDERATED' is disabled.
2014-01-30 00:52:59 17504 [Note] InnoDB: The InnoDB memory heap is disabled
2014-01-30 00:52:59 17504 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-01-30 00:52:59 17504 [Note] InnoDB: Compressed tables use zlib 1.2.3
1、[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option
解决办法:在my.cnf中[mysqld] 下增加一行 explicit_defaults_for_timestamp = true
2、[Warning] Buffered warning: Performance schema disabled (reason: init failed).
3、InnoDB: The InnoDB memory heap is disabled
原因:是因为使用了操作系统的内存分配器,禁用了InnoDB的内置内存分配器所至。
关于innodb_use_sys_malloc解释:
操作系统内存分配程序使用控制——用户现在可以控制,InnoDB是使用自带的内存分配程序,还是使用当前部署的操作系统中现有的更高效的内存分配程序。通过在MySQL 5.5 选项文件(my.cnf)中设置新的系统配置参数innodb_use_sys_malloc,可方便地进行控制。
默认设置值为1,
设置为0:表示Innodb使用自带的内存分配程序。
设置为1:表示InnoDB使用操作系统的内存分配程序。
innodb_use_sys_malloc =0
或
innodb_use_sys_malloc =1
更多评论
/easydeploy/mysql/bin/mysqld --defaults-file=/easydeploy/mysql/etc/my.cnf &
#2
今天在测试一个插件时,发现插件生成的数据表是用 InnoDB 引擎的,奇怪,默认不是 MyISAM 引擎么?于是去 MySQL 翻了下文档,原来 MySQL 5.5.5 后,默认引擎是 InnoDB 了(传送门),而我今年安装的 MySQL 好像都是最新版,然后因为 InnoDB 是默认引擎,所以无法禁止。
那么原因找到就好办了,在 my.cnf 的 [mysqld] 下加上:
default-storage-engine=MYISAM
innodb=OFF
#3