512M内存 MYSQL的my.cnf

本文提供了MySQL 5.5.4版本的配置文件示例,包括客户端、服务器、mysqldump等部分的配置参数,并介绍了如何通过创建交换分区(Swap)来优化内存资源有限的系统。

每次重装系统,总是被MYSQL搞个半死,这次要存下来,不见得准确,但可以使用,版本5.5.4:

# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# MySQL programs look for option files in a set of
# locations which depend on the deployment platform.
# You can copy this option file to one of those
# locations. For information about these locations, see:
# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client]
#character-set-server=utf8
#password	= your_password
#host            = localhost
port		= 3306
socket		= /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#character-set-server=utf8
tmpdir= /tmp
port		= 3306
socket		= /tmp/mysql.sock
skip-external-locking
log-error=/alidata/log/mysql/error.log
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
# 
#skip-networking

# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin

# binary logging format - mixed recommended
binlog_format=mixed

# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id	= 1

innodb_use_sys_malloc = 1
innodb_change_buffering = all
innodb_file_format_check = 1
innodb_max_dirty_pages_pct = 75

innodb_data_home_dir = /alidata/server/mysql/data/
innodb_data_file_path =  ibdata1:1024M;ibdata2:512M:autoextend
innodb_log_group_home_dir = /alidata/server/mysql/data

innodb_log_buffer_size = 16M
innodb_log_file_size = 64M
innodb_log_files_in_group = 2
innodb_additional_mem_pool_size = 8M
innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

innodb_buffer_pool_size = 16M

[mysqldump]
quick
max_allowed_packet = 32M

[mysql]

no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
expire_logs_days = 5
max_binlog_size = 1000M


然后,因为内存太小,加点SWAP:

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 #增加1G的SWAP进去
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
$ free

添加这行: /swapfile swap swap defaults 0 0 到 /etc/fstab

确定 MySQL my.cnf 配置最佳参数可从以下几个方面着手: - **硬件配置**:依据服务器的硬件资源状况,合理设置参数。例如对于有双至强 E5620、16G 内存的 Dell R710 服务器,要结合内存、CPU 核心数等进行参数调整,以充分利用硬件资源。在内存方面,可根据服务器可用内存来调整关键参数,像 innodb_buffer_pool_size 就需根据内存大小合理设置,从而提升数据读写性能。对于内存较小的系统(32M - 64M),可参考如 my-medium.cnf 这样的示例配置文件,将其拷贝到 /etc/my.cnf 后进行修改,示例文件路径为 /usr/share/doc/MySQL-server-5.5.38/my-medium.cnf [^1][^3]。 - **应用环境**:不同的应用场景对 MySQL 性能的要求不同,需根据实际应用情况来设置参数。对于日 IP 50 - 100w、PV 100 - 300w 的站点,且主要使用 InnoDB 存储引擎的情况,要重点优化与 InnoDB 相关的参数,像 innodb_log_file_size、innodb_log_files_in_group 等,以满足高并发访问的需求。而对于其他应用环境,则需依据具体业务特点和访问模式来进行参数的优化调整 [^3]。 - **系统特性**:如果系统支持 memlock() 函数,可打开相应选项,使运行中的 MySQL内存高度紧张时,能将数据锁定在内存中,防止数据被 swapping out,例如设置 ft_min_word_len = 8 等相关参数,以保证系统的稳定性和性能 [^2]。 - **性能监控与调整**:在配置好参数后,要使用工具对 MySQL 的性能进行监控,分析查询日志、慢查询日志等,查看系统的性能指标,如响应时间、吞吐量等。根据监控结果,找出性能瓶颈,然后有针对性地对参数进行调整和优化,逐步找到最佳的配置参数组合。 ```plaintext # 示例:部分常见参数设置 [mysqld] innodb_buffer_pool_size = 4G # 根据服务器内存调整 innodb_log_file_size = 256M innodb_log_files_in_group = 2 ft_min_word_len = 8 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值