mysql教程之配置檔案詳解(一)

2022-08-22 23:30:13 字數 2955 閱讀 9992

./configure --prefix=/usr/local/mysql \

--without-debug \                 #去除 debug 模式.

--enable-thread-safe-client \        #以執行緒方式編譯客戶端.

--with-pthread     \                #強制使用 pthread 執行緒庫編譯.

--enable-assembler \            #允許使用彙編模式.

--enable-profiling\                #build a versionwith query profiling code (req.community-features)

--with-mysqld-ldflags=-all-static \    #靜態編譯 mysqld 的額外 link 引數.

--with-client-ldflags=-all-static \     #靜態編譯 client 的額外 link 引數.

--with-charset=utf8 \           #預設字元 utf8.

--with-extra-charsets=all \       #支援所有的語言字元.

--with-innodb \                 #innodb 資料引擎.

--with-plugins=innobase \

--with-plugins=heap \            #記憶體資料引擎.

--with-mysqld-user=mysql \       #mysql安裝使用的帳號

--without-embedded-server \      #去除安裝 embedded-server.

--with-server-suffix=-community \  #社群形式安裝.

--with-unix-socket-path=/tmp/mysql.sock

mysql 啟動的一般設定:

/etc/my.cnf 基本部設引數設定.

# back_log 是作業系統在監聽佇列中所能保持的連線數,

#  佇列儲存了在 mysql 連線管理器執行緒處理之前的連線.

#  你就應該增加此處的值.

#  檢查你的作業系統文件來獲取這個變數的最大值.

#  如果將 back_log 設定到比你作業系統限制更高的值,將會沒有效果

#  在 mysql 的連線請求等待佇列中允許存放的最大連線請求數. defautl=50,最大 65535,根 據 os 對網路監聽佇列的情況來設定.

back_log =20000

# mysql 服務所允許的同時會話數的上限

#  其中乙個連線將被 super 許可權保留作為管理員登入.

#  即便已經達到了連線數的上限.

#  整個 mysql 允許的最大連線數.這個引數會影響 mysql 的應用併發處理能力.有些資料上提 到 500-800,以我們的機子來說單個 mysql 例項設定 10000 應該是沒有問題的。如果還需可能需要第三方軟體解決 php 連線池的問題,提高還需要連線池.

max_connections = 10000

#  每個客戶端連線最大的錯誤允許數量,如果達到了此限制.

#  這個客戶端將會被 mysql 服務阻止直到執行了"flush hosts"  或者服務重啟

#  非法的密碼以及其他在鏈結時的錯誤會增加此值.

#  檢視 "aborted_connects"  狀態來獲取全域性計數器. max_connect_errors= 10

#  所有執行緒所開啟表的數量.

#  增加此值就增加了 mysqld 所需要的檔案描述符的數量

#  這樣你需要確認在[mysqld_safe]中 "open-files-limit" 變數設定開啟檔案數量允許至少

#  根據以下命今進行實際需要設定.

#  mysq>show variables like 'table_cache';

#  mysq>show status lie 'open_tables';

table_cache = 2048

#  允許外部檔案級別的鎖.  開啟檔案鎖會對效能造成負面影響

#  所以只有在你在同樣的檔案上執行多個資料庫例項時才使用此選項(注意仍會有其他約 束!)

#  或者你在檔案層面上使用了其他一些軟體依賴來鎖定 myisam 表

#external-locking

#  服務所能處理的請求包的最大大小以及服務所能處理的最大的請求大小(當與大的 blob

字段一起工作時相當必要)

#  每個連線獨立的大小.大小動態增加

#  這個是根據 net_buffer 相對應,是 net buffer的最大值。 default 是 16m

max_allowed_packet = 16m

#  在乙個事務中 binlog 為了記錄 sql 狀態所持有的 cache 大小

#  如果你經常使用大的,多宣告的事務,你可以增加此值來獲取更大的效能.

#  所有從事務來的狀態都將被緩衝在 binlog 緩衝中然後在提交後一次性寫入到 binlog 中

#  如果事務比此值大,  會使用磁碟上的臨時檔案來替代.

#  此緩衝在每個連線的事務第一次更新狀態時被建立

binlog_cache_size= 1m

#  獨立的記憶體表所允許的最大容量.

#  此選項為了防止意外建立乙個超大的記憶體表導致永盡所有的記憶體資源. max_heap_table_size = 64m

#  排序緩衝被用來處理類似order by 以及 group by 佇列所引起的排序

#  如果排序後的資料無法放入排序緩衝,

#  乙個用來替代的基於磁碟的合併分類會被使用

#  檢視 "sort_merge_passes" 狀態變數.

#  在排序發生時由每個執行緒分配

sort_buffer_size = 8m

Mysql配置檔案詳解

有時候配置檔案的一些修改能夠使得效能很大的提公升。這裡我總結一下相關的配置引數,方便自己以後查閱。table cache table cache指定表快取記憶體的大小。每當mysql訪問乙個表時,如果在表緩衝區 中還有空間,該錶就被開啟並放入其中,這樣可以更快地訪問表內容。通過檢查峰值時間的狀態值o...

MySQL配置檔案詳解

配置檔案具體的結構分析 mysqld port 3306 socket tmp mysql.sock 設定mysql的安裝目錄 basedir f hzq soft mysql server 51ga 設定mysql資料庫的資料的存放目錄,必須是data,或者是 data datadir f hzq...

mysql簡單配置檔案 MySQL配置檔案

mysql配置檔案 在windows下是my.ini,而在linux下是my.cnf。基本引數 port 3306 埠號 server id 1 basedir c program files mysql mysql server 5.5 基準路徑,其他路徑都相對於這個路徑 datadir c pr...