1. 程式人生 > >Mysql資料庫伺服器配置檔案/etc/my.cnf的詳細配置

Mysql資料庫伺服器配置檔案/etc/my.cnf的詳細配置

以下是 Mysql數 據庫伺服器配置檔案 /etc/my.cnf的詳細配置。應用場合是 InnoDB引擎, 4核 CPU, 32位 SUSE。

[client]
port        = 3306
socket      = /tmp/mysql.sock
# The MySQL server
[mysqld]
bind-address = 192.168.0.11
port         = 3306
socket       = /tmp/mysql.sock
 
##設定表的預設型別。和 default-storage-engine同義
default-table-type = innodb
 
# 以下是網路傳輸配置
#連線程序幀聽佇列的大小
back_log = 50
 
#之前有過經驗, connections超過 370的時候, 執行緒的棧空間被佔滿, mysqld無法工作,所以限制為 200
max_connections=200
 
#連線 500次發生錯 誤之後,遮蔽從該 host的所有連線
max_connect_errors = 500
 
#通訊緩衝區的最大長度。包或任何生成的 /中間字串的最大大小。
max_allowed_packet = 32M
 
在查詢之間將通訊緩衝區重設為該值。如果語句超出該長度,緩衝區自動擴大,直到 max_allowed_packet位元組。
net_buffer_length = 8K
 
# 以下是查詢優化
#避免外部鎖定 (預設 是 ON). 對應 variable的 skip_external_locking
skip-locking
 
#索引緩衝區 (僅作用 於 MYISAM表和臨時表 ),決定了資料庫索引處理的速度
key_buffer_size = 10M
 
#所有執行緒開啟的表的數目 (一個表使用 2個檔案描述符 ),表數量多,就要大一些。增大該值可以增加 mysqld需要的檔案描述符的數量。可以檢查 Opened_tables(已經開啟的表的數量 )狀 態變數來檢查你是否需要增加表快取。
table_cache = 2048
 
#每個排序執行緒分配的緩衝區的大小。增加該值可以加快 ORDER BY或 GROUP BY操 作
sort_buffer_size = 5M
 
#用於完全聯接的緩衝區的大小 (當不使用索引的時候使用聯接操作 )。
#一般情況獲得快速聯接的最好方法是新增索引。當增加索引時不可能通過增加 join_buffer_size值來獲得快速完全聯接。
#將為兩個表之間的每個完全聯接分配聯接緩衝區。對於多個表之間不使用索引的複雜聯接,需要多聯接緩衝 區。
join_buffer_size = 8M
 
#伺服器應快取多少執行緒以便重新使用。當客戶端斷開連線時,如果執行緒少於 thread_cache_size,則客戶端的執行緒被放入快取。
#如果狀態變數 Threads_created(建立用來處理連線的執行緒數 )較大,你可能要增加 thread_cache_size值。緩 存訪問率的計算方法 Threads_created/Connections(試圖連線到 (不管是否成功 )MySQL伺服器的連線數 )
thread_cache_size = 8
 
#使應用程式向執行緒系統提供需要同時執行的期望的執行緒數目的提示
thread_concurrency = 8
 
#為快取查詢結果分配的記憶體的數量,加快查詢的速度。預設值是 0,即禁用查詢快取。
query_cache_size = 64M
 
#不要快取大於該值的結果,預設值是 1048576(1MB)。
query_cache_limit = 2M
 
#ft_min_word_len和 ft_max_word_len表示 FULLTEXT索 引的最小和最大字長
ft_min_word_len = 4
 
#每個執行緒的堆疊大小
thread_stack = 192K
 
#事務隔離級別。 READ-UNCOMMITTED: 未提交讀 會出現髒 讀、不可重複讀、幻讀 ( 隔離級別最低,併發效能高 ) ; READ-COMMITTED: 提交讀 會出現不可 重複讀、幻讀問題(鎖定正在讀取的行); REPEATABLE-READ: 預設值,可重複讀 會出幻讀(鎖定所讀取的所有行) ; SERIALIZABLE: 序列化 保證所有的 情況不會發生(鎖表)
transaction_isolation = REPEATABLE-READ
 
#聯合查詢或者 view的 時候,可能會建立臨時表,如果在磁碟上建的話,會導致效能低,設定此值可以一定程度上加快速度
tmp_table_size = 64M
 
#每個執行緒連續掃描時為掃描的每個表分配的緩衝區的大小 ,如果進行多次連續掃描,可能需要增加該值
read_buffer_size = 1M
 
#當排序後按排序後的順序讀取行時,則通過該緩衝區讀取行,避免搜尋硬碟。將該變數設定為較大的值可以 大大改進 ORDER BY的效能。但是,這是為每個客戶端分配的緩衝區, 因此你不應將全域性變數設定為較大的值。相反,只為需要執行大查詢的客戶端更改會話變數。
read_rnd_buffer_size = 2M
 
# 以下是主從同步配置
# Replication Master Server (default)
#主機是 1。備機從 2開始。
server-id    = 1
 
#啟動資料庫更新二進位制日誌記錄,日誌檔名字首為 mysql-bin
log-bin=mysql-bin
 
#在事務過程中容納二進位制日誌 SQL語句的快取大小,
#二進位制日誌快取是伺服器支援事務儲存引擎並且伺服器啟用了二進位制日誌 (–log-bin選項 )的前提下為 每個客戶端分配的記憶體。
#如果經常使用大的,多語句事務,可以增加該值以獲得更有的效能
binlog_cache_size = 5M
 
#是否記錄慢查詢,預設 OFF。用 long_query_time變數的值來確定“慢查 詢”。
log_slow_queries
 
#超過 2S的 query將記 slow query日誌
long_query_time = 2
 
#沒有使用索引的查詢也作為慢速查詢記錄到慢速日誌裡
#或者用 log-queries-not-using-indexes
log_long_format
 
#告訴主伺服器,如果當前的資料庫 (即 USE選定的資料 庫 )是 db_name,不應將更新儲存到二進位制日誌中。
binlog-ignore-db = information_schema
binlog-ignore-db = cluster
binlog-ignore-db = mysql
 
#告訴從伺服器限制預設資料庫 (由 USE所選擇 )為 db_name的 語句的複製
replicate-do-db = test1
replicate-do-db = test2
 
#跨庫更新表要用到如下配置。告訴從伺服器執行緒限制複製更新的表匹配指定的資料庫和表名模式的語句。模 式可以包含‘ %’和‘ _’萬用字元,與 LIKE模 式匹配操作符具有相同的含義。要指定多個表,應多次使用該選項,每個表使用一次。該選項可以跨資料庫進行更新。
replicate-wild-do-table = test1.%
replicate-wild-do-table = test2.%
 
#當 Slave從 Master資料庫讀取日誌時更新新寫入日誌中 。如果只啟動 log-bin 而沒有啟動 log-slave-updates則 Slave只記錄針對自己資料庫操作的更新
log-slave-updates
 
# 以下是 InnoDB 引擎配置
#InnoDB 不會自己建立目錄,必須自己使用作業系統命令建立相應的目錄。檢查你的 MySQL 服務程式在 datadir 目錄裡 有足夠的許可權建立檔案 (mysql使用者組擁有 )。
#這是 InnoDB表 的目錄共用設定。如果沒有設定, InnoDB 將使用 MySQL的 datadir 目錄為預設目錄。如果設定一個空字串 ,可以在 innodb_data_file_path 中設定絕對路徑。
innodb_data_home_dir = /data/dbdata/
 
#單獨指定資料檔案的路徑與大小。資料檔案的完整路徑由 innodb_data_home_dir 與這裡所設定值的組合。 檔案大小以 MB 單 位指定。因此在檔案大小指定後必有“ M”。 InnoDB 也支援縮寫“ G”, 1G = 1024M。從 3.23.44 開始,在那些支援大檔案的作業系統上可以設定資料檔案大小大於 4 GB。而在另一些作業系統上資料檔案必須小於 2 GB。
#如果用 autoextend 選項描述最後一個數據檔案,當 InnoDB 用盡所有表自 由空間後將會自動擴充最後一個數據檔案,每次增量為 8MB
#InnoDB是不會注意你的 OS文 件尺寸限制的, 在一些檔案系統中你可能要設定最大容量 2G限制:
#innodb_data_home_dir = innodb_data_file_path = /ibdata/ibdata1:100M:autoextend:max:2000M
#這裡應當預先建立好 10個 2048M的檔案,目前還沒有建立
innodb_data_file_path = ibdata1:2000M;ibdata2:2000M;ibdata3:2000M;ibdata4:2000M;ibdata5:2000M;ibdata6:2000M;ibdata7:2000M;ibdata8:2000M;ibdata9:2000M;ibdata10:2000M:autoextend
 
#InnoDB 日誌檔案的路徑。如果沒有明確指定將預設在 MySQL 的 datadir 目 錄下建立兩個 5 MB 大小的 ib_logfile0和 ib_logfile1檔案。
#將日誌檔案與資料檔案分別放在不同的物理硬碟中對提高效能通常是很有益的
innodb_log_group_home_dir = /data/dbdata/
 
#主要用來儲存表結構和資料字典,表越多要求記憶體就越大
innodb_additional_mem_pool_size = 16M
 
# You can set .._buffer_pool_size up to 50 – 80 %
# of RAM but beware of setting memory usage too high
#表和索引資料的記憶體緩衝區,越大效能越高。但不能超過實體記憶體的 50%。若 64位 OS,該值可以更大
#32位 OS受 2G記憶體的限制,不能將記憶體使用設定太高, glibc 會把程序堆增長到執行緒堆疊之上,這將會使伺服器崩潰。下面的接近或超過於 2G 將會很危險:
#innodb_buffer_pool_size + key_buffer +    max_connections * (sort_buffer_size + record_buffer_size + binlog_cache_size) + max_connections * 2 MB
#每個執行緒將使用 2MB(MySQL AB 二進位制版本為 256 KB)的堆疊,在最壞的環境下還會使用 sort_buffer_size + record_buffer_size 的附加記憶體。
innodb_buffer_pool_size = 1G
 
#InnoDB 中的檔案 I/O 線 程。 通常設定為 4
innodb_file_io_threads = 4
 
#併發執行緒。 2*(內 核數量 +磁碟數量 )
innodb_thread_concurrency = 16
 
#1表示每次事務結束都寫日誌並重新整理磁碟; 2表示每次事務寫日誌但不重新整理磁碟 (每秒重新整理 ); 0(預設值 )表示每秒 寫日誌並重新整理磁碟。 0表示最多丟失 1秒的資料,但效能最好。
innodb_flush_log_at_trx_commit = 0
 
#InnoDB 將日誌寫入日誌磁碟檔案前的緩衝大小。理想值為 1M 至 8M。大的日誌 緩衝允許事務執行時不需要將日誌儲存入磁碟而只到事務被提交 (commit)。 因此,如果有大的事務,設定大的日誌緩衝可以減少磁碟 I/O。
innodb_log_buffer_size = 8M
 
# Set .._log_file_size to 25 % of buffer pool size
#日誌檔案大小設定。增大該值可減少重新整理日誌頻率,但會延長 mysql啟動和災難恢復的時間。
#日誌組中的每個日誌檔案的大小 (單位 MB)。如果 n 是日誌組 (innodb_log_files_in_group)中日誌檔案的數目,那麼理想的數值為 1M 至緩衝池 (innodb_log_buffer_size)大小的 1/n。較 大的值,可以減少重新整理緩衝池的次數,從而減少磁碟 I/O。但是大的日誌 檔案意味著在崩潰時需要更長的時間來恢復資料。
innodb_log_file_size = 256M
 
#日誌組中的日誌檔案數目。 InnoDB 以環型方式 (circular fashion)寫入檔案。數值 3 被 推薦使用
innodb_log_files_in_group = 3
 
#InnoDB行鎖導致的死鎖等待時間 (預設值是 50S)
innodb_lock_wait_timeout = 30
 
#是否支援分散式事務,關閉以提高效能 (預設是 ON)
innodb_support_xa = OFF
 
[mysqldump]
quick
max_allowed_packet = 16M
 
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
 
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
 
[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
 
[mysqlhotcopy]
interactive-timeout

相關推薦

Mysql資料庫伺服器配置檔案/etc/my.cnf詳細配置

以下是 Mysql數 據庫伺服器配置檔案 /etc/my.cnf的詳細配置。應用場合是 InnoDB引擎, 4核 CPU, 32位 SUSE。 [client]port        = 3306 socket      = /tmp/mysql.sock # The My

在/etc/my.cnf配置 [clIent] 導到mysql找不到socket

soc server /tmp mysqld 指定 highlight true clas connect [[email protected]/* */ mysql-5.6.16]# ./bin/mysql ERROR 2002 (HY000): Can

MySQL修改 /etc/my.cnf 資料庫的預設編碼

在使用 SQLAlchemy 連到 MySQL 上create 出來的 table, 預設都是 DEFAULT CHARSET=latin1 即使 SQLAlchemy 在設定 echo=True, 有看到SQLAlchemy有去設定 connection 的 Charset=’utf-8′, 結果 ta

【札記】Linux下 MySQL-5.7.17 tar.gz 包方式安裝部署後出現密碼過期的問題解決(不修改/etc/my.cnf檔案

【問題描述】 在Oracle linux 6.8上安裝完成MySQL-5.7.17(使用版本為:mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz)後: [[email protected] ~]# mysql --version mysql  Ver 14.14 D

my.cnf配置檔案目錄與檔案: /etc/my.cnf

[client] #password = your_password port = 3306 #socket = /tmp/mysql.sock 把tmp替換成自己要存放的資料庫檔案的目錄?比如/mydata/mysql.sock socket = /t

MySQL 配置文件my.cnf

system tab 參考手冊 同時 足夠 命名 打開 必須 不必要 轉載: MySQL配置文件my.cnf 詳解:#BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的連接, 隊列負載大#TYPE: SYSTEM#E

Linux中MySQL配置文件my.cnf參數優化

表空間 高效 內容 服務端 default 最終 效果 程序 變慢 MySQL參數優化這東西不好好研究還是比較難懂的,其實不光是MySQL,大部分程序的參數優化,是很復雜的。MySQL的參數優化也不例外,對於不同的需求,還有硬件的配置,優化不可能又最優選擇,只能慢慢的進行優

mysql 查看當前使用的配置文件my.cnf的方法

.cn big air 輸出 默認 basedir index 一個 文件 my.cnf是mysql啟動時加載的配置文件,一般會放在mysql的安裝目錄中,用戶也可以放在其他目錄加載。 安裝mysql後,系統中會有多個my.cnf文件,有些是用於測試的。 使用locat

MySQL無法重啟問題解決Warning: World-writable config file ‘/etc/my.cnf’ is ignored

許可權777,任何一個使用者都可以改my.cnf,存在很大的安全隱患. 修復MySQL問題 [[email protected] ~]# chmod 644 /etc/my.cnf

Linux伺服器解決Warning: World-writable config file ‘/etc/my.cnf’ is ignored

在重啟伺服器的時候lnmp restart 或者 service mysql restart 報錯  [Warning] World-writable config file '/etc/my.cnf' is ignored.大概意思是許可權全域性可寫,任何一個使用者都可以寫。mysq

001—玩轉Mysql配置檔案my.ini)

#====================================== #平臺:windows7         #MYsql版本:mysql-5.5.62-winx64(安裝版) #MYsql工具:SQLyog - 64&nbs

Java連線MySQL資料庫之properties檔案配置

[ mysql-dbconfig.properties ] 檔案: # 資料庫驅動: driverClassName:com.mysql.jdbc.Driver # 資料庫連結地址: url:jdbc:mysql://localhost:3306/db_app

mysql啟動引數(/etc/my.cnf)詳解彙總

http://blog.csdn.net/lihaiwenshu/article/details/40434093 在linux下面的/etc/my.cnf的引數詳解彙總 MYSQL–my.cnf配置中文詳解 basedir = path   使用給

MySQL——配置檔案my.ini)

# CLIENT SECTION # ---------------------------------------------------------------------- [client] #password =1234 # pipe # socket=mysql # 設定mysql客戶端連線服務端時

zip檔案安裝mysql資料庫伺服器mysql初始密碼修改

本地使用MySql需要客戶端和服務端同時具備,今天去官網下載了一個mysql-5.6.23-winx64.zip的服務端安裝,中間遇見了很多問題,這裡給大家分享一下安裝的正確方法。 1.下載官方版mysql-5.6.23-winx64.zip,並解壓到你的安裝目錄,這裡我

my.cnf常用配置

調度 force 發現 不一致 erro _id 打開文件 extend stat my.cnf詳解:常用配置:[mysqld]字段 #port = 3306 #默認 #bind-address = 0.0.0.0 #默認 pid-file = /data/my

MySql5.7 配置文件 my.cnf 設置

bar 內存 日誌 external efi pda uic server pac https://blog.csdn.net/gzt19881123/article/details/52594783 # MySql5.7配置文件my.cnf設置 [client] por

Ubuntu下面MySQL的參數文件my.cnf淺析

recover 相關配置 his values gen replay expire ria 個人 前幾天剛接手一個 MySQL 數據,操作系統為Ubuntu 16.04.5 LTS, 數據庫版本為 5.7.23-0ubuntu0.16.04.1(APT方式安裝的MySQL

Spring配置檔案中如何使用外部配置檔案配置資料庫連線

版權宣告:本文為博主原創文章,歡迎指正或者轉載。 https://blog.csdn.net/qq_38663729/article/details/78821258 直接在spring的配置檔案中applicationContext.xml檔案中配置資料庫連線也可以,但是有個問題,需要在url

[ERROR] Found option without preceding group in config file /etc/my.cnf at line 1!

今天碰到一個特別鬱悶的問題,啟動mysql資料庫時報錯:[ERROR] Found option without preceding group in config file /etc/my.cnf at line 1!經過查詢資料,說的都是: 原因:my.ini檔案格式是utf-8 解決辦