溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql學(xué)習(xí)2:第二章:mysql安裝啟動和關(guān)閉——安裝前檢查

發(fā)布時(shí)間:2020-08-07 17:33:08 來源:ITPUB博客 閱讀:184 作者:studywell 欄目:MySQL數(shù)據(jù)庫

1.1.   下載安裝包

官方地址:www.mysql.com

下載版本:Mysql Community Server,平臺Linux-Generic x86-64bit。

下載安裝包mysql 5.6  mysql5.7

下載后進(jìn)行通過md5校驗(yàn)安裝包:md5sum filename

2018.11.3當(dāng)前官網(wǎng)最新版本:

mysql 5.7.24

mysql 5.6.42

 

版本安裝區(qū)別:

mysql 5.7之前版本在數(shù)據(jù)庫初始化過程中需要借助于/usr/local/mysql/scripts/mysql_install_db命令,但在mysql 5.7后mysql_install_db被廢棄了。

1.2.   安裝前系統(tǒng)環(huán)境檢測

由于書中未制定操作系統(tǒng)平臺,這里選用centos7.4_x64。

[root@localhost ~]# cat /etc/centos-release

CentOS Linux release 7.4.1708 (Core)

ip地址設(shè)置為192.0.2.10 

 

1.2.1.   卸載原系統(tǒng)帶的MariaDB

CentOS7默認(rèn)安裝MariaDB而不是MySQL,而且yum服務(wù)器上也移除了MySQL相關(guān)的軟件包。因?yàn)镸ariaDB和MySQL可能會沖突,故先卸載MariaDB。

 

記得一定要先卸載,不然會出現(xiàn)包沖突的問題。

需要將系統(tǒng)自帶的mariadb-lib卸載

# rpm -qa | grep -i mariadb

mariadb-5.5.56-2.el7.x86_64

mariadb-server-5.5.56-2.el7.x86_64

mariadb-libs-5.5.56-2.el7.x86_64

 

[root@localhost ~]# rpm -e --nodeps mariadb

[root@localhost ~]# rpm -e --nodeps mariadb-server

[root@localhost ~]# rpm -e --nodeps mariadb-libs

 

1.2.2.   關(guān)閉selinux、iptables、firewall

關(guān)閉selinux

/etc/sysconfig/selinux  

關(guān)閉iptables

chkconfig --list|grep iptables

chkconfig iptables off

關(guān)閉防火墻

Centos7中防火墻變?yōu)榱薴irewall,所以千萬不要在使用iptable去關(guān)閉了。

1 查看防火墻狀態(tài)

# firewall-cmd --state

running

2 果然是運(yùn)行的,于是就想disabled防火墻服務(wù)

# systemctl mask firewalld

ln -s '/dev/null' '/etc/systemd/system/firewalld.service'

3 然后關(guān)閉防火墻

# systemctl stop firewalld

4 最后檢查防火墻服務(wù),發(fā)現(xiàn)已經(jīng)關(guān)閉了

# firewall-cmd --state

not running

 

1.2.3.   IO調(diào)度系統(tǒng)模式修改

將IO調(diào)度系統(tǒng)設(shè)置為deadline模式

本系統(tǒng)查看

[root@localhost ~]# cat /sys/block/sda/queue/scheduler

noop [deadline] cfq

更改IO系統(tǒng)調(diào)度的方法根據(jù)系統(tǒng)不同,本次沒有測試。

 

關(guān)于IO調(diào)度

具體參考:http://blog.itpub.net/29519108/viewspace-2218623/

總結(jié):

1、CFQ和DEADLINE考慮的焦點(diǎn)在于滿足零散IO請求上。對于連續(xù)的IO請求,比如順序讀,并沒有做優(yōu)化。為了滿足隨機(jī)IO和順序IO混合的場景,Linux還支持ANTICIPATORY調(diào)度算法。ANTICIPATORY的在DEADLINE的基礎(chǔ)上,為每個(gè)讀IO都設(shè)置了6ms的等待時(shí)間窗口。如果在這6ms內(nèi)OS收到了相鄰位置的讀IO請求,就可以立即滿足。

IO調(diào)度器算法的選擇,既取決于硬件特征,也取決于應(yīng)用場景。

在傳統(tǒng)的SAS盤上,CFQ、DEADLINE、ANTICIPATORY都是不錯(cuò)的選擇;對于專屬的數(shù)據(jù)庫服務(wù)器,DEADLINE的吞吐量和響應(yīng)時(shí)間都表現(xiàn)良好。

然而在新興的固態(tài)硬盤比如SSD、Fusion IO上,最簡單的NOOP反而可能是最好的算法,因?yàn)槠渌齻€(gè)算法的優(yōu)化是基于縮短尋道時(shí)間的,而固態(tài)硬盤沒有所謂的尋道時(shí)間且IO響應(yīng)時(shí)間非常短。

2、對于數(shù)據(jù)庫應(yīng)用, Anticipatory Scheduler 的表現(xiàn)是最差的。Deadline 在 DSS 環(huán)境表現(xiàn)比 cfq 更好一點(diǎn),而 cfq 綜合來看表現(xiàn)更好一些。這也難怪 RHEL默認(rèn)的 IO 調(diào)度器設(shè)置為 cfq。

1.2.4.   swap分區(qū)設(shè)置

swapiness值在0和100之間,0代表最大下怒使用物理內(nèi)存,然后使用SWAP分區(qū)。100則積極使用swap分區(qū),把內(nèi)存數(shù)據(jù)庫及時(shí)搬到swap分區(qū)下。

查看本系統(tǒng);

[root@localhost ~]# cat /proc/sys/vm/swappiness

30

如需更改,編輯/etc/sysctl.conf,加入vm.swappiness的值即可。

 

1.2.5.   文件系統(tǒng)

建議使用XFS文件系統(tǒng),相比ext4,更加方便管理,支持動態(tài)擴(kuò)容, 刪除文件也方便。

具體參考:http://blog.itpub.net/29519108/viewspace-2218624/

1.2.6.   操作系統(tǒng)限制

unlimit -a 查看參數(shù)

 

[root@localhost ~]# ulimit -a

core file size          (blocks, -c) 0

data seg size           (kbytes, -d) unlimited

scheduling priority             (-e) 0

file size               (blocks, -f) unlimited

pending signals                 (-i) 7165

max locked memory       (kbytes, -l) 64

max memory size         (kbytes, -m) unlimited

open files                      (-n) 1024

pipe size            (512 bytes, -p) 8

POSIX message queues     (bytes, -q) 819200

real-time priority              (-r) 0

stack size              (kbytes, -s) 8192

cpu time               (seconds, -t) unlimited

max user processes              (-u) 7165

virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

 

open_files    默認(rèn)1024,表示單個(gè)進(jìn)程最多可以訪問1024各文件句柄。系統(tǒng)鏈接或表過多,會出現(xiàn)打不開或者范圍內(nèi)不了的情況。

max user processes    默認(rèn)7185,連接數(shù)。

修改/etc/security/limits.conf,加入限制的相關(guān)內(nèi)容,后重啟系統(tǒng)。

*      hard nproc     65535

*      soft    nproc   65535

*      soft    nofile   65535

*      hard    nofile   65535

 

1.2.7.   numa需要關(guān)閉

具體參考:http://blog.itpub.net/29519108/viewspace-2218625/

 

關(guān)閉numa功能,可以更好分配內(nèi)存,不需要采用哦個(gè)seap方式來獲取內(nèi)存。

關(guān)閉方式分在BIOS、操作系統(tǒng)給中關(guān)閉,或者在數(shù)據(jù)庫啟動過程關(guān)閉。

 

numa --interleave=all /usr/loal/mysql/bin/mysqld_safe -defaults-file=/etc/my.cnf &

 

非一致存儲訪問結(jié)構(gòu) (NUMA : Non-Uniform Memory Access) 也是最新的內(nèi)存管理技術(shù)。它和對稱多處理器結(jié)構(gòu) (SMP : Symmetric Multi-Processor) 是對應(yīng)的。

MySQL單機(jī)單實(shí)例,建議關(guān)閉NUMA,關(guān)閉的方法有三種:

1.硬件層,在BIOS中設(shè)置關(guān)閉;

2.OS內(nèi)核,啟動時(shí)設(shè)置numa=off;

3.可以用numactl命令將內(nèi)存分配策略修改為interleave(交叉)


向AI問一下細(xì)節(jié)
推薦閱讀:
  1. mysql安裝
  2. mysql安裝腳本

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI