mysql数据库参数优化配置,让你的网站速度飞起来!

服务器配置较低,1GCPU,1G内存最近Mysql数据库经常挂掉,之前的配置文件是默认的,如下所示:

  1. [mysqld]
  2. skip-name-resolve
  3. skip-host-cache
  4. default-storage-engine=MyISAM
  5. loose-skip-innodb
  6. datadir = /var/lib/mysql
  7. socket = /var/lib/mysql/mysql.sock
  8. symbolic-links=0
  9. init_connect='SET collation_connection = utf8_unicode_ci'
  10. init_connect='SET NAMES utf8'
  11. character-set-server=utf8
  12. collation-server=utf8_unicode_ci
  13. skip-character-set-client-handshake
  14. [client]
  15. default-character-set=utf8
  16. [mysql]
  17. default-character-set=utf8
  18. [mysqld_safe]
  19. log-error=/var/log/mariadb/mariadb.log
  20. pid-file=/var/run/mariadb/mariadb.pid
  21. init_connect = 'SET collation_connection = utf8_general_ci'
  22. init_connect = 'SET NAMES utf8'
  23. character_set_server = utf8
  24. collation_server = utf8_general_ci
  25. !includedir /etc/my.cnf.d

后来修改为:

  1. # Example MariaDB config file for very large systems.
  2. #
  3. # This is for a large system with memory of 1G-2G where the system runs mainly
  4. # MariaDB.
  5. #
  6. # MariaDB programs look for option files in a set of
  7. # locations which depend on the deployment platform.
  8. # You can copy this option file to one of those
  9. # locations. For information about these locations, do:
  10. # 'my_print_defaults --help' and see what is printed under
  11. Default options are read from the following files in the given order:
  12. # More information at: http://dev.mysql.com/doc/mysql/en/option-files.html
  13. #
  14. In this file, you can use all long options that a program supports.
  15. # If you want to know which options a program supports, run the program
  16. with the "--help" option.
  17. # The following options will be passed to all MySQL clients
  18. [client]
  19. #password   = your_password
  20. port        = 3306
  21. socket      = /var/lib/mysql/mysql.sock
  22. default-character-set=utf8
  23. # Here follows entries for some specific programs
  24. # The MySQL server
  25. [mysqld]
  26. --skip-host-cache
  27. --skip-name-resolve
  28. default-storage-engine=MyISAM
  29. innodb_force_recovery = 4
  30. port        = 3306
  31. socket      = /var/lib/mysql/mysql.sock
  32. character-set-server = utf8
  33. skip-innodb
  34. skip-bdb
  35. skip-external-locking
  36. key_buffer_size = 128M
  37. max_allowed_packet = 4M
  38. table_open_cache = 8
  39. sort_buffer_size = 2M
  40. read_buffer_size = 2M
  41. read_rnd_buffer_size = 8M
  42. myisam_sort_buffer_size = 64M
  43. thread_cache_size = 8
  44. query_cache_size = 32M
  45. # Try number of CPU's*2 for thread_concurrency
  46. thread_concurrency = 8
  47. character-set-server=utf8
  48. # Point the following paths to a dedicated disk
  49. #tmpdir     = /tmp/
  50. # Don't listen on a TCP/IP port at all. This can be a security enhancement,
  51. # if all processes that need to connect to mysqld run on the same host.
  52. All interaction with mysqld must be made via Unix sockets or named pipes.
  53. # Note that using this option without enabling named pipes on Windows
  54. # (via the "enable-named-pipe" option) will render mysqld useless!
  55. #
  56. skip-networking
  57. innodb_use_sys_malloc = 0
  58. # Replication Master Server (default)
  59. binary logging is required for replication
  60. log-bin=mysql-bin
  61. # required unique id between 1 and 2^32 - 1
  62. # defaults to 1 if master-host is not set
  63. # but will not function as a master if omitted
  64. server-id   = 1
  65. # Replication Slave (comment out master section to use this)
  66. #
  67. To configure this host as a replication slave, you can choose between
  68. # two methods :
  69. #
  70. # 1) Use the CHANGE MASTER TO command (fully described in our manual) -
  71. #    the syntax is:
  72. #
  73. #    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
  74. #    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
  75. #
  76. #    where you replace <host>, <user>, <passwordby quoted strings and
  77. #    <port> by the master's port number (3306 by default).
  78. #
  79. #    Example:
  80. #
  81. #    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
  82. #    MASTER_USER='joe', MASTER_PASSWORD='secret';
  83. #
  84. OR
  85. #
  86. # 2) Set the variables below. However, in case you choose this method, then
  87. #    start replication for the first time (even unsuccessfully, for example
  88. #    if you mistyped the password in master-password and the slave fails to
  89. #    connect), the slave will create a master.info file, and any later
  90. #    change in this file to the variables' values below will be ignored and
  91. #    overridden by the content of the master.info file, unless you shutdown
  92. #    the slave server, delete master.info and restart the slaver server.
  93. #    For that reason, you may want to leave the lines below untouched
  94. #    (commented) and instead use CHANGE MASTER TO (see above)
  95. #
  96. # required unique id between 2 and 2^32 - 1
  97. # (and different from the master)
  98. # defaults to 2 if master-host is set
  99. # but will not function as a slave if omitted
  100. #server-id       = 2
  101. #
  102. # The replication master for this slave - required
  103. #master-host     =   <hostname>
  104. #
  105. # The username the slave will use for authentication when connecting
  106. to the master - required
  107. #master-user     =   <username>
  108. #
  109. # The password the slave will authenticate with when connecting to
  110. # the master - required
  111. #master-password =   <password>
  112. #
  113. # The port the master is listening on.
  114. # optional - defaults to 3306
  115. #master-port     =  <port>
  116. #
  117. binary logging - not required for slaves, but recommended
  118. #log-bin=mysql-bin
  119. #
  120. binary logging format - mixed recommended
  121. #binlog_format=mixed
  122. # Uncomment the following if you are using InnoDB tables
  123. #innodb_data_home_dir = /var/lib/mysql
  124. #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
  125. #innodb_log_group_home_dir = /var/lib/mysql
  126. # You can set .._buffer_pool_size up to 50 - 80 %
  127. of RAM but beware of setting memory usage too high
  128. innodb_buffer_pool_size = 256M
  129. innodb_additional_mem_pool_size = 20M
  130. Set .._log_file_size to 25 % of buffer pool size
  131. innodb_log_file_size = 50M
  132. innodb_log_buffer_size = 8M
  133. #innodb_flush_log_at_trx_commit = 1
  134. #innodb_lock_wait_timeout = 50
  135. [mysqldump]
  136. quick
  137. max_allowed_packet = 16M
  138. [mysql]
  139. no-auto-rehash
  140. # Remove the next comment character if you are not familiar with SQL
  141. #safe-updates
  142. default-character-set=utf8
  143. [myisamchk]
  144. key_buffer_size = 256M
  145. sort_buffer_size = 256M
  146. read_buffer = 2M
  147. write_buffer = 2M
  148. [mysqlhotcopy]
  149. interactive-timeout

mysql数据库参数优化配置,让你的网站速度飞起来!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: