程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql性能最大化

mysql性能最大化

編輯:關於MYSQL數據庫

       [client]

      #passwd = your_passwd

      port = 3306

      socket = /data/mysql/mysql.sock

      [mysqld]

      #global settings

      port = 3306

      socket = /data/mysql/mysql.sock

      basedir=/usr/local/mysql

      tmpdir=/data/mysql

      datadir=/data/mysql

      pid-file=/data/mysql/rongzhong.pid

      #跳過外部鎖定 只對MyISAM

      skip-external-locking

      #禁用tcp socket連接,只能使用unix/linux socket連接

      skip_networking

      #禁用DNS解析,提高連接速度

      skip_name_resolve

      #跳過授權表,忘記root密碼時使用

      #skip-grant-tables

      #默認存儲引擎

      #default-storage-engine=MyISAM/INNODB

      #默認字符集

      character_set_server=utf8

      #最大連接數

      max_connections=20480

      #最大單用戶連接數

      max_user_connections=1024

      #服務器關閉一個交互連接前等待的秒數,默認28800

      interactive_timeout=7200

      #線程緩存數,直接利用空閒連接來創建新連接,1G —> 8 2G —> 16 3G —> 32 >3G —> 64

      #短連接較多的情況下可以適當增加該值

      thread_cache_size=64

      #單個線程(連接)進行數據排序(eg: order/group by)時的buffer,連接創建時一次性分配,默認2M,當 Sort_merge_passes較大時可增加該值

      sort_buffer_size=2M

      #對沒有索引的表進行join操作時的buffer,默認256K,連接創建時一次性分配

      join_buffer_size=262144

      #指定連接偵聽隊列的大小,該值超過OS的tcp_max_syn_backlog/somaxconn時無效,推薦設置為小於512的整數

      back_log=512

      #table_open_cache中歲多能打開的表數

      table_open_cache = 256

      #一次消息傳輸量的最大值,是net_buffer_length的最大值

      max_allowed_packet=8M

      #bin-log

      #打開二進制日志

      log-bin=mysql-bin

      log-bin-index=mysql-bin.index

      #日志格式,可選row/statement/mixed,默認statement,推薦mixed

      binlog_format=mixed

      #一個binlog的最大值

      max_binlog_size=1G

      #對單個連接的binlog緩存大小,默認1M

      binlog_cache_size=2M

      #binlog cache的總大小

      max_binlog_cache_size=2G

      #sync_binlog may be 0 or 1

      #binlog是否進行磁盤同步,為0時交給OS,為1:事物結束立即同步,IO損耗大

      sync_binlog=0

      #slow-log

      #開啟slow log

      slow-query-log=1

      #指定慢查詢的時長

      long-query-time=2

      #路徑

      slow-query-log-file=/data/mysql/slowlog/slow.log

      #未使用索引的查詢也記錄到slow log中

      log_queries_not_using_indexes=1

      #query cache

      #啟用query cache

      query_cache_type=1

      #存放單條query cache的最大值,默認1M

      query_cache_limit=1M

      #存放單條query cache的最小值,默認4K

      query_cache_min_res_unit=4096

      #query的最大值

      query_cache_size=256M

      #MyISAM

      #索引緩存大小,公式:Key_Size = key_number * (key_length+4)/0.67

      key_buffer_size=128M

      #單個線程進行順序讀取時的緩存,默認128K

      read_buffer_size=2M

      #單個線程進行隨機讀取時的緩存,默認256K

      read_rnd_buffer_size = 4M

      #重建索引時允許的最大緩存大小,默認8M

      myisam_sort_buffer_size = 64M

      #指定索引緩存中block大小,默認1K

      key_cache_block_size=1024

      #禁止索引的單條刷新

      delay_key_write=1

      #innodb

      #啟用獨立的表空間

      #innodb_file_per_table=1

      #設置innodb內存緩沖區大小,在純mysql環境下,推薦設置為服務器內存的60~80%

      innodb_buffer_pool_size =8G

      #設置OS能進入innodb內核的線程數,推薦2*(CPU核心數+磁盤數)

      innodb_thread_concurrency=16

      #設置innodb的io行為,可選值fsync/O_DSYNC/O_DIRECT 推薦O_DIRECT提高隨機寫效率

      innodb_flush_method=O_DIRECT

      #設置mysql主進程每秒鐘向磁盤刷入的髒頁數,默認值200

      #For systems with individual 5400 RPM or 7200 RPM drives, you might lower the value to the former default of 100

      innodb_io_capacity=100

      #設置寫髒頁的線程數

      innodb_write_io_threads = 8

      #設置從磁盤讀文件塊的線程數

      innodb_read_io_threads = 8

      #設置事物日志緩沖區大小

      #設置事物日志緩沖區大小

      innodb_log_buffer_size=8M

      #log thread向磁盤同步日志的方式,可選值為0/1/2

      #0: 每秒鐘刷新 1:每次事物提交後都刷新 2:交給OS來同步

      innodb_flush_log_at_trx_commit =0

      #數據庫字典信息和表結構空間

      innodb_additional_mem_pool_size =16M

      #啟用Double write Buffer區域,保證數據完整性,但消耗IO

      innodb_doublewrite=1

      [mysqldump]

      # Do not buffer the whole result set in memory before writing it to file. Required for dumping very large tables

      quick

      max_allowed_packet = 16M

      [mysql]

      no-auto-rehash

      [myisamchk]

      key_buffer_size = 512M

      sort_buffer_size = 512M

      read_buffer = 8M

      write_buffer = 8M

      [mysqlhotcopy]

      interactive-timeout

      [mysqld_safe]

      # Increase the amount of open files allowed per process. Warning: Make

      # sure you have set the global system limit high enough! The high value

      # is required for a large number of opened tables

      open-files-limit = 8192

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved