mysql 5.6默认启动占用内存400多M,如果是vps等小内存应用,mysql内存占用率明显偏高,将会导致崩溃,mysql会自动停止。 编辑/etc/my.cnf文件在[mysqld]下增加或修改如下参数

performance_schema_max_table_instances = 200
table_definition_cache = 100
table_open_cache = 100

这个三个参数,调低值后内存能明显减小,现在mysql使用内存约60MB左右,就大大降低默认使用的内存。
进一步调整参数

innodb_buffer_pool_size=2M

这个三个参数可以调小。 再进一步调整: mysql 5.6默认启用performance_schema,占用很多内存,可以禁用。
完整配置文件如下,内存占用到22M
我的mysql配置如下,如果你使用的centos6 64位,并且是yum安装的(一键脚本)可以自己按照如下照抄,我的是centos6 64位系统
先ssh登录服务器或VPS,执行
命令:
vi /etc/my.cnf

For advice on how to change settings please see

http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]

Remove leading # and set to the amount of RAM for the most important data

cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

innodb_buffer_pool_size = 128M

Remove leading # to turn on a very important data integrity option: logging

changes to the binary log between backups.

log_bin

Remove leading # to set options mainly useful for reporting servers.

The server defaults are faster for transactions and fast SELECTs.

Adjust sizes as needed, experiment to find the optimal values.

join_buffer_size = 128M

sort_buffer_size = 2M

read_rnd_buffer_size = 2M

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

symbolic-links=0

skip-external-locking
key_buffer_size = 8M
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 240K

innodb_use_native_aio = 0

innodb_buffer_pool_size=2M
performance_schema_max_table_instances=50
table_definition_cache=50
table_open_cache=32
max_connections=50
max_user_connections=35
wait_timeout=10
interactive_timeout=15
long_query_time=5

Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

Recommended in standard MySQL setup

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

默认值如下:
performance_schema_max_table_instances 12500
table_definition_cache 1400
table_open_cache 2000
参数含义
performance_schema_max_table_instance

The maximum number of instrumented table objects. table_definition_cache
The number of table definitions (from .frm files) that can be stored in the definition cache table_open_cache
The number of open tables for all threads

翻译:
已检测到的最大表对象数。 Table_definition_cache
可以存储在已定义的缓存table_open_cache中的表定义(来自.frm文件)的数量
所有线程的打开表数