MySql配置(网易的)
来源:互联网 发布:网络推广竞价包年 编辑:程序博客网 时间:2024/06/14 22:28
Hompy项目现使用2台数据服务器,主从数据库内存分别为8G和6G。
开始老是down机,以my-huge为基础配了很多次,都不行,
后来,借用了mail.sanook.com的配置,撑了一断时间,还是不理想。
再借用网易(163.com)一个子项目的my.cnf试了一下,几个月没down,先用它撑一下。
注:网易使用的是2G内存的。
共享一下:
# Example MySQL config file for very large systems.
#
# This is for a large system with memory of 1G-2G where the system runs mainly
# MySQL.
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/lib/mysql) or
# ~/.my.cnf to set user-specific options.
#
# 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]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
skip-innodb
skip-bdb
#back_log=100
back_log=200
#key_buffer=500M
key_buffer=512M
#key_buffer = 384M
#max_allowed_packet = 2M
#max_allowed_packet = 1M
max_allowed_packet = 4M
#table_cache = 512
table_cache = 1024
#sort_buffer_size=32M
#sort_buffer_size = 2M
sort_buffer_size = 16M
#read_buffer_size = 8M
#read_buffer_size = 2M
read_buffer_size = 16M
#read_rnd_buffer_size = 16M
#read_rnd_buffer_size = 8M
read_rnd_buffer_size = 32M
#myisam_sort_buffer_size = 256M
myisam_sort_buffer_size = 64M
#thread_cache =80
thread_cache = 8
#query_cache_size = 64M
#query_cache_size = 32M
query_cache_size = 16M
log-slow-queries=/var/log/slowlog.log
long_query_time = 2
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 4
default-character-set=utf8
### mysql tuning
#set-variable = max_user_connections=600
set-variable = max_user_connections=1000
set-variable = max_connections=1000
#set-variable = table_cache=1200
#set-variable = max_allowed_packet=1M
#set-variable = max_connect_errors=999999
#set-variable = max_connect_errors=20
set-variable = max_connect_errors=1000
set-variable = wait_timeout=10
#set-variable = interactive_timeout=300
set-variable = interactive_timeout=120
#set-variable = tmp_table_size = 2M
#set-variable = join_buffer_size = 2M
###
# 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 = /var/log/mysql/mysql-bin.log
# binlog-do-db = exampledb
# 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
# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods :
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
# the syntax is:
#
# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
#
# where you replace <host>, <user>, <password> by quoted strings and
# <port> by the master's port number (3306 by default).
#
# Example:
#
# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
# MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# OR
#
# 2) Set the variables below. However, in case you choose this method, then
# start replication for the first time (even unsuccessfully, for example
# if you mistyped the password in master-password and the slave fails to
# connect), the slave will create a master.info file, and any later
# change in this file to the variables' values below will be ignored and
# overridden by the content of the master.info file, unless you shutdown
# the slave server, delete master.info and restart the slaver server.
# For that reason, you may want to leave the lines below untouched
# (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 2 and 2^32 - 1
# (and different from the master)
# defaults to 2 if master-host is set
# but will not function as a slave if omitted
#server-id = 2
#
# The replication master for this slave - required
#master-host = <hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user = <username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password = <password>
#
# The port the master is listening on.
# optional - defaults to 3306
#master-port = <port>
#
# binary logging - not required for slaves, but recommended
log-bin
binlog-do-db = hompy_mweb
# Point the following paths to different dedicated disks
#tmpdir = /tmp/
tmpdir = /var/mysqltmp
#log-update = /path-to-dedicated-directory/hostname
# Uncomment the following if you are using BDB tables
#bdb_cache_size = 384M
#bdb_max_lock = 100000
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/lib/mysql/
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
#innodb_log_group_home_dir = /var/lib/mysql/
#innodb_log_arch_dir = /var/lib/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 384M
#innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 100M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
default-character-set=utf8
[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
-----------------注释----------------------------
1.bulk_insert_buffer_size
使用多个值表的 INSERT 语句或者 LOAD DATA 命令 ,可以大大缩减客户端与数据库之间的连接、语法分析等消耗,使得效率比分开执行的单个 INSERT 语句快很多,相关的命令我们会在 SQL 优化详细介绍。如果多值的 INSERT 或者 LOAD DATA 是往一个非空的数据表里增加记录 ,也可以通过调整 bulk_insert_buffer_size 参数来提高数据插入的效率,这个参数设置的是 bulk insert 的缓存大小,默认是 8M 。
2.delayed_queue_size
此变量控制被排队的INSERT DELAYED 语句中的行数。如果该队列已满,则更多的INSERT DELAYED 将堵塞,直到队列有空间为止,这样可防止发布那些语句的客户机继续进行操作。如果您有许多执行这种INSERT 的客户机,且发现它们正在堵塞,那么应增加该变量,使更多的客户机更快地进行工作
3.key_buffer_size
索引缓冲区
4.max_allowed_packet
客户机通信所使用的缓冲区大小的最大值。5.query_cache_size
从4.0.1开始,MySQL提供了查询缓冲机制。使用查询缓冲,MySQL将SELECT语句和查询结果存放在缓冲区中,今后对于同样的SELECT语句(区分大小写),将直接从缓冲区中读取结果。根据MySQL用户手册,使用查询缓冲最多可以达到238%的效率。
通过检查状态值Qcache_*,可以知道query_cache_size设置是否合理(上述状态值可以使用SHOW STATUS LIKE ‘Qcache%’获得)。如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况,如果Qcache_hits的值也非常大,则表明查询缓冲使用非常频繁,此时需要增加缓冲大小;如果Qcache_hits的值不大,则表明你的查询重复率很低,这种情况下使用查询缓冲反而会影响效率,那么可以考虑不用查询缓冲。此外,在SELECT语句中加入SQL_NO_CACHE可以明确表示不使用查询缓冲。
与查询缓冲有关的参数还有query_cache_type、query_cache_limit、query_cache_min_res_unit。query_cache_type指定是否使用查询缓冲,可以设置为0、1、2,该变量是SESSION级的变量。query_cache_limit指定单个查询能够使用的缓冲区大小,缺省为1M。query_cache_min_res_unit是在4.1版本以后引入的,它指定分配缓冲区空间的最小单位,缺省为4K。检查状态值Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多,这就表明查询结果都比较小,此时需要减小query_cache_min_res_unit。
-----------------------------------------------------
http://mysqldatabaseadministration.blogspot.com/2005/11/mysql-5-optimization-and-tuning-guide.html
- MySql配置(网易的)
- 锁定老贴子 主题:MySql配置(网易的)
- CentOS Linux配置网易(163)的yum源
- redhat网易yum源的配置
- 为Redhat5配置网易的yum源
- linux redhat配置yum源为网易(163)源的方法 (
- mysql(十)MySQL的配置
- mysql(十一)MySQL的配置
- MySQL高可用在网易的最佳应用与实践
- MySQL高可用在网易的最佳应用与实践
- iPhone5s配置网易邮箱
- Redhat 配置网易yum
- 网易云配置ipv6
- 为CentOS配置网易163的yum源
- mysql中文乱码问题(转自网易--网站笔记)
- 网易MySQL数据库工程师微专业学习笔记(一)
- 网易MySQL数据库工程师微专业学习笔记(二)
- 网易MySQL数据库工程师微专业学习笔记(三)
- 演说时代之艺术创造始于初心
- JavaScript为事件处理器传递参数
- window.open()的参数列表及示例代码
- RSA 非对称加密与解密
- 编译你自己的Linux内核(Kernel)
- MySql配置(网易的)
- AS3.0基础学习笔记(2): 对象
- 在textarea光标指定地方插入内容
- DEV控件:gridControl常用属性设置
- 当使用 Windows Server 2003 中添加或删除程序 " 消息收到 " 无法加载安装库 wbemupgd.dll " 错误
- 实用的SQL函数(用于将符合条件的某列所有记录合成一行)
- 如何做需求分析(一)概述
- building block context的处理
- 程序设计图书中的圣经级著作汇总(from 刘江@图灵)(附注)