MySQL資料庫部署linux引數調整

2021-10-08 07:12:29 字數 2914 閱讀 1962

mysql資料庫部署linux引數調整

為了使mysql資料庫獲得最佳效能,需要正確定義作業系統引數。如果作業系統核心引數配置不當,可能會導致資料庫伺服器效能下降。因此,必須根據資料庫伺服器及其工作負載配置這些引數。主要是指在linux系統中針對業務服務應用而進行的系統核心引數調整。

基本系統中的相容程式庫一定開啟,繼承unix相容性一定打上。資料庫全部取消。系統管理-系統管理選擇上桌面都選擇上不能選擇(kde桌面-因為和通用桌面有衝突)-應用程式把瀏覽器選擇上。開發全選。語言把中文和英文都選擇上。

[root@localhost yum.repos.d]# cat /etc/yum.repos.d/iso.repo

[iso6.9]

name=iso6.9

baseurl=file:/

gpgcheck=0

enabled=1

selinux=disabled

[root@localhost yum.repos.d]# setenforce 0

[root@localhost yum.repos.d]# getenforce

permissive

echo "192.168.198.134 mysql5.7" >>/etc/hosts

numa把一台計算機分成多個節點(node),每個節點內部擁有多個cpu,節點內部使用共有的記憶體控制器,節點之間是通過互聯模組進行連線和資訊互動。因此節點的所有記憶體對於本節點所有的cpu都是等同的,對於其他節點中的所有cpu都不同。因此每個cpu可以訪問整個系統記憶體,但是訪問本地節點的記憶體速度最快(不經過互聯模組),訪問非本地節點的記憶體速度較慢(需要經過互聯模組),即cpu訪問記憶體的速度與節點的距離有關,該距離成為node distance。

mysql伺服器為什麼需要關閉numa?

mysql是單程序多執行緒架構資料庫,當numa採用預設記憶體分配策略時,mysql程序會被並且僅僅會被分配到numa的乙個節點上去。假設這個節點的本地記憶體為10gb,而mysql配置20gb記憶體,超出節點本地記憶體部分(20gb-10gb)linux會使用swap而不是使用其他節點的物理記憶體。在這種情況下,能觀察到雖然系統總的可用記憶體還未用完,但是mysql程序已經開始在使用swap了。

在/etc/grub.conf的kernel一行後新增了numa=off,重啟伺服器後果然問題被解決。

linux i/o 排程器是linux核心中的乙個組成部分,使用者可以通過調整這個排程器來優化系統效能。本文首先介紹linux i/o 排程器的結構,然後介紹如何根據不同的儲存器來設定linux i/o 排程器從而達到優化系統效能。

cfq完全公平佇列,比較適合於互動式場景     

deadline 最後期限,任何乙個讀寫請求,都有自己的滿足期限,當期限到來時之前,必須達到需求的滿足(一般建議在資料庫伺服器上使用此排程演算法)

anticpatory 預期的,任何乙個資料讀完之後,有可能與其相鄰的資料也可能被讀到,所以它大致所實現的方法就是,讀完之後先不滿足,則不處理,需等一段時間後檢視是否有相近資料訪問過,如果有馬上先滿足,所以這只能在行為預估的場景下可用

noop 固態硬碟 推薦使用

檢視當前系統支援的i/o排程器

dmesg | grep -i scheduler

--i0排程演算法

cat /sys/block/sd*/queue/ scheduler

--sas/stat

echo ' deadline' > /sys/block/sd*/queue/scheduler

-- ssd

echo 'n0op' > /sys/block/sd*/queue/scheduler

--減少預讀

echo '16' > /sys/block/sd* /queue/read_ahead_kb

--增大佇列

echo '512' > /sys/block/sd*/queue /nr_requests

--開啟後生效

vi /etc/rc.local

echo '512' > /sys/block/ sdb/queue/nr_requests

echo '512' > /sys/block/ sdc/ queue/nr_requests

需要根據伺服器執行的程式型別,來設定不同的引數值。例如,對於oracle一般設定為10;對於mysql一般設定為1,盡可能不用swap分割槽。

vim /etc/sysctl. conf

vm.min_free_kbytes=51200

#vm.min_free_kbytes= 512000 -- 生產環境

linux資源限制配置檔案是/etc/security/limits.conf;限制使用者程序的數量對於linux系統的穩定性非常重要。limits.conf檔案限制著使用者可以使用的最大檔案數,最大執行緒,最大記憶體等資源使用量。/etc/security/limits.conf 配置檔案可限制檔案開啟數,系統程序等資源,在/etc/security/limits.d/90-nproc.conf檔案配置中寫的最大使用者程序數是受配置上限影響的。

ulimit -a   是所有顯示的資源

vim /etc/security/limits.conf 

noproc 是代表最大程序數

nofile 是代表最大檔案開啟數 

stack - max stack size (kb) 最大棧大小

* soft nproc 65535

* hard nproc 65535

* soft nofile 65535

* hard nofile 65535

* soft stack 65535

* hard stack 65535

vim /etc/security/limits.d/90-nproc.conf

*               -       nproc         65535

所有使用者   soft/hard

linux下部署mysql資料庫

cd usr local src 建議放在這個目錄下面 wget tar zxf mysql 5.6.35 linux glibc2.5 x86 64.tar.gz 解壓 d usr local mysql mv usr local mysql usr local mysql old 判斷如果前面的...

部署Mysql資料庫

mysql 定義 是乙個真正的多執行緒 多使用者的sql資料庫服務 高效能 高可靠性 易於使用的特性 編譯安裝mysql 資料庫的優點 確保功能的完整性 可定製性 1 為了避免埠衝突 程式衝突等現象,先確認本機沒有使用rpm 方式安裝 如下 root centos7 5 rpm q mysql se...

部署MySQL庫 部署Mysql資料庫 惟淨

mysql資料庫版本 5.6.34 cmake軟體包版本 3.5.2 root localhost yum groupinstall 開發工具 y root localhost chkconfig iptables off root localhost chkconfig list iptables...