分享一個低配VPS下運行的mysql配置文件


在各種內存CPU核心只有1/2核,內存只有512M/1G的vps下,內存、CPU、硬盤都不是太充裕。因此主要思路是,禁止吃內存大戶innodb引擎,默認使用MyISAM。禁止吃硬盤大戶log-bin,再調節一些參數到合適的數值。

[mysql]

# CLIENT #
port                             = 3306
socket                           = /var/run/mysqld/mysqld.sock

[mysqld]

# GENERAL #
user                             = mysql
default-storage-engine           = MyISAM
default-tmp-storage-engine       = MYISAM
socket                           = /var/run/mysqld/mysqld.sock
pid-file                         = /var/run/mysqld/mysqld.pid
bind-address                     = 127.0.0.1
lc-messages-dir                  = /usr/share/mysql/
skip-external-locking

# MyISAM #
key-buffer-size                  = 16M
myisam-recover                   = FORCE,BACKUP

# SAFETY #
max-allowed-packet               = 16M
max-connect-errors               = 256
skip-name-resolve
sysdate-is-now                   = 1

# DATA STORAGE #
datadir                          = /var/lib/mysql/

# CACHES AND LIMITS #
tmp-table-size                   = 32M
max-heap-table-size              = 32M
query-cache-type                 = 0
query-cache-size                 = 0
max-connections                  = 64
thread-stack                     = 192K
thread-cache-size                = 4
thread-concurrency               = 2
open-files-limit                 = 1028
table-definition-cache           = 256
table-open-cache                 = 64

# INNODB #
loose-skip-innodb
loose-innodb-trx                 = 0
loose-innodb-locks               = 0
loose-innodb-lock-waits          = 0
loose-innodb-cmp                 = 0
loose-innodb-cmp-per-index       = 0
loose-innodb-cmp-per-index-reset = 0
loose-innodb-cmp-reset           = 0
loose-innodb-cmpmem              = 0
loose-innodb-cmpmem-reset        = 0
loose-innodb-buffer-page         = 0
loose-innodb-buffer-page-lru     = 0
loose-innodb-buffer-pool-stats   = 0
loose-innodb-metrics             = 0
loose-innodb-ft-default-stopword = 0
loose-innodb-ft-inserted         = 0
loose-innodb-ft-deleted          = 0
loose-innodb-ft-being-deleted    = 0
loose-innodb-ft-config           = 0
loose-innodb-ft-index-cache      = 0
loose-innodb-ft-index-table      = 0
loose-innodb-sys-tables          = 0
loose-innodb-sys-tablestats      = 0
loose-innodb-sys-indexes         = 0
loose-innodb-sys-columns         = 0
loose-innodb-sys-fields          = 0
loose-innodb-sys-foreign         = 0
loose-innodb-sys-foreign-cols    = 0

# LOGGING #
log-error                        = /var/log/mysql/error.log
log-queries-not-using-indexes    = 0
long-query-time                  = 1
slow-query-log                   = 1
slow-query-log-file              = /var/log/mysql/slow.log

重啟后mysql的內存占用大概為70M+,其中和內存關系較大的是key-buffer-size、tmp-table-size和thread-cache-size屬性,作用分別為緩存MyISAM的索引、執行Group By之類語言時使用的臨時表內存空間、查詢線程。

配置的使用環境為percona server 5.6,其他版本的mysql沒有測試。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM