首页 » VPS 知识 » 浏览内容

解决mysql占用资源大的问题


2011-11-18 19:49:57 5,626 0 发表评论 字体: 作者:C.K.
标签: mysql

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

该内容仅限于会员浏览,请 登录注册

在 linux 下,经常出现的情况就是使用 vbB 这种论坛系统时,出现缓慢,mySQL 假死状态,sleep进程过多等等现像。导致几十个用户,就把系统搞定了。
其实这是 mysql 配置上的问题, 默认的 linux 中, mysql 的配置是 my-large.cnf 配置,该配置适合大型服务器。有高内存,比如2G,4G内存的,适合使用,而一般512M内存 的就不行了。它会占用512M内存来保存系统 mysql 的进程,这些进程长期堆质,并不释放,导致系统缓慢。所以,把配置改变成为 /etc/my.cnf ,小型配置就可以了。它的配置如下:

# Example MySQL config file for small systems.
  • #
  • # This is for a system with little memory (<= 64M) where MySQL is only used
  • # from time to time and it's important that the mysqld daemon
  • # doesn't use much resources.
  • #
  • # 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]
  • #password   = your_password
  • port        = 3306
  • socket      = /tmp/mysql.sock
  • # Here follows entries for some specific programs
  • # The MySQL server
  • [mysqld]
  • port        = 3306
  • socket      = /tmp/mysql.sock
  • skip-locking
  • skip-innodb
  • key_buffer_size = 16K
  • 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 = 128K
  • max_connections=1000
  • # 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
  • # (using the "enable-named-pipe" option) will render mysqld useless!
  • #
  • #skip-networking
  • server-id   = 1
  • # Uncomment the following if you want to log updates
  • #log-bin=mysql-bin
  • # binary logging format - mixed recommended
  • #binlog_format=mixed
  • # Uncomment the following if you are using InnoDB tables
  • #innodb_data_home_dir = /usr/local/mysql/var
  • #innodb_data_file_path = ibdata1:10M:autoextend
  • #innodb_log_group_home_dir = /usr/local/mysql/var
  • # You can set .._buffer_pool_size up to 50 - 80 %
  • # of RAM but beware of setting memory usage too high
  • #innodb_buffer_pool_size = 16M
  • #innodb_additional_mem_pool_size = 2M
  • # Set .._log_file_size to 25 % of buffer pool size
  • #innodb_log_file_size = 5M
  • #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
  • [myisamchk]
  • key_buffer_size = 8M
  • sort_buffer_size = 8M
  • [mysqlhotcopy]
  • interactive-timeout
  • 本文来自:http://www.jucoder.com/bbs/thread-6327-0-0.html

    1 2 3 4

    网站统计 Statistics

    • 创建时间: 2005年1月3日 距今5041 天
    • 日志总数: 2461
    • 评论总数: 630
    • 标签总数: 654
    • 链接总数: 273
    • 最后更新: 2018-8-31 17:57:04
    • 您是本站第 14061212 位访客

    广告区 Guǎng Gào