資料庫引數
mysql資料庫的引數配置一般在my.ini配置檔案中修改/新增(部分引數也可以用set global 引數名=值 做臨時調整,重啟後失效),配置完後需要重啟資料庫才生效。
引數1:innodb_buffer_pool_size = gb/mb
說明:此引數類似於oracle的sga配置,當主機做為mysql資料庫伺服器時,一般配置為整機記憶體的60%~80%。
引數2:innodb_buffer_pool_instances=n
說明:記憶體緩衝池例項數,將innodb_buffer_pool_size配置的記憶體分割成n份,此引數當配置記憶體大小於1g時才生效,當資料庫有多個會話進行資料庫操作時,用於並行在 多個記憶體塊中處理任務,一般配置值《=伺服器cpu的個數。
引數3:max_connections = 2000 說明:最大連線數,當資料庫面對高併發時,這個值需要調節為乙個合理的值,才滿足業務的併發要求,避免資料庫拒絕連線。
引數4:max_user_connections=1000 說明:設定單個使用者的連線數。
引數5:innodb_log_buffer_size =32m
說明:日誌緩衝區大小,一般不用設定太大,能存下1秒鐘操作的資料日誌就行了,mysql預設1秒寫一輪詢寫一次日誌到磁碟。
引數6:innodb_flush_log_at_trx_commit
說明:(這個配置很關鍵)一般的實時業務交易配置為2,取值0,1,2
0:log buffer將每秒一次地寫入log file中,並且log file的flush(刷到磁碟)操作同時進行。該模式下在事務提交的時候,不會主動觸發寫入磁碟的操作。
1:每次事務提交時mysql都會把log buffer的資料寫入log file,並且flush(刷到磁碟)中去,該模式為系統預設。
2:每次事務提交時mysql都會把log buffer的資料寫入log file,但是flush(刷到磁碟)操作並不會同時進行。該模式下,mysql會每秒執行一次 flush(刷到磁碟)操作。
0與2的區別:
0:當mysql掛了之後,可能會損失前一秒的事務資訊
2:當mysql掛了之後,如果系統檔案系統沒掛,不會有事務丟失。
引數7:innodb_read_io_threads = 16 說明:資料庫讀操作時的執行緒數,用於併發。
引數8:innodb_write_io_threads = 16 說明:資料庫寫操作時的執行緒數,用於併發。
引數9:innodb file per table= 1
說明:每乙個表是否使用獨立的資料表空間,預設為off(使用共享表空間),一般建議配置為1,
innodb 缺省會將所有的資料庫innodb引擎的表資料儲存在乙個共享空間中:(ibdata1),這樣就感覺不爽,增刪資料庫的時候,ibdata1檔案不會自動收縮,
單個資料庫的備份也將成為問題。通常只能將資料使用mysqldump 匯出,然後再匯入解決這個問題。 共享表空間在insert操作上少有優勢。
其它都沒獨立表空間表現好,如果資料庫基本上都插入操作則配置為0。
引數10:innodb_stats_on_metadata=
說明:是否動態收集統計資訊,開啟時會影響資料庫的效能(一般關閉,找個時間手動重新整理,或定時重新整理)如果為關閉時,需要配置資料庫排程任務,定時重新整理資料庫的統計資訊。
引數11:innodb_spin_wait_delay=10 說明:控制cpu的輪詢時間間隔,預設是6,配置過低時,任務排程比較頻繁,會消耗cpu資源。
引數12:innodb_lock_wait_timeout=30 說明:控制鎖的超時時間,預設為50,這個值要注意,如果有特殊業務確實要耗時較長時,不能配置太短。
mysql資料庫引數詳解 MySQL資料庫基礎講解
資料庫安裝教程 mysql資料庫安裝語句 1.sudo apt get install mysql server 2.sudo apt get install mysql client 3.sudo apt get install libmysqlclient dev 查詢mysql是否安裝成功 s...
MySQL資料庫 引數優化
資料庫屬於 io 密集型的應用程式,其主要職責就是資料的管理及儲存工作。而我們知道,從記憶體中讀取乙個資料庫的時間是微秒級別,而從一塊普通硬碟上讀取乙個io是在毫秒級別,二者相差3個數量級。所以,要優化資料庫,首先第一步需要優化的就是 io,盡可能將磁碟io轉化為記憶體io。本文先從 mysql 資...
MYSQL資料庫的引數檔案
引數檔案 告訴mysql例項啟動時在 可以找到資料庫檔案,並且指定某些初始化引數,這些引數定義了某種記憶體結構的大小等設定,還會介紹各種引數的型別。當mysql例項啟動時,mysql會先去讀乙個配置引數檔案,用來尋找資料庫的各種檔案所在位置以及指定某些初始化引數,這些引數通常定義了某種記憶體結構有多...