溫馨提示×

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

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

Linux下二進(jìn)制方式如何安裝mysql5.7版本和系統(tǒng)優(yōu)化

發(fā)布時(shí)間:2021-05-25 10:14:06 來(lái)源:億速云 閱讀:142 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

小編給大家分享一下Linux下二進(jìn)制方式如何安裝mysql5.7版本和系統(tǒng)優(yōu)化,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

本文主要介紹MySQL二進(jìn)制軟件包的安裝/啟動(dòng)/關(guān)閉過(guò)程。

也許有人要問(wèn)為什么要選擇二進(jìn)制的安裝方式呢?

其實(shí)答案很簡(jiǎn)單,官方版本中已經(jīng)把所有功能都配置好了,我們可以很方便地拿來(lái)使用。

官方MySQL有四個(gè)版本:GA版本、DMR版本、RC版本和Beta版本。一般情況下,生產(chǎn)環(huán)境或者測(cè)試環(huán)境都

選擇GA版本(常規(guī)可用的版本,經(jīng)過(guò)bug修復(fù)測(cè)試過(guò))。

下載地址:https://dev.mysql.com/downloads/mysql/

下載完成以后可以檢驗(yàn)一下MD5,我這邊之前下載的版本,這邊就演示這個(gè)命令的使用(md5sum 文件名)

Linux下二進(jìn)制方式如何安裝mysql5.7版本和系統(tǒng)優(yōu)化

[root@tse2 downloads]# md5sum mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 
d903d3dbf235b74059a4b3e216c71161 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

Linux下二進(jìn)制方式如何安裝mysql5.7版本和系統(tǒng)優(yōu)化

1、安裝前系統(tǒng)環(huán)境檢測(cè)

不管是MySQL哪個(gè)版本的安裝,為了可以很順利地把MySQL數(shù)據(jù)庫(kù)安裝好,做好后期數(shù)據(jù)庫(kù)的優(yōu)化工作,在前期進(jìn)行Linux的系統(tǒng)檢測(cè)是十分有必要的。

1.1、selinux和iptables需要關(guān)閉,把SELINUX=disabled,改完重啟服務(wù)器生效。

Linux下二進(jìn)制方式如何安裝mysql5.7版本和系統(tǒng)優(yōu)化

我這里沒(méi)有iptables用的是firewall所以不用關(guān)閉iptables

Linux下二進(jìn)制方式如何安裝mysql5.7版本和系統(tǒng)優(yōu)化

1.2、I/O調(diào)度系統(tǒng)默認(rèn)是cfq模式,這里強(qiáng)烈建議使用deadline模式

查看I/O調(diào)度文件:

Linux下二進(jìn)制方式如何安裝mysql5.7版本和系統(tǒng)優(yōu)化

[root@tse2 downloads]# cat /sys/block/sda/queue/scheduler 
noop [deadline] cfq

1.3、swap分區(qū)的設(shè)置

swpapiness值的大小對(duì)如何使用swap分區(qū)有著很大的影響。

它有0和100兩個(gè)極限值,0代表最大限度地使用物理內(nèi)存,然后才使用swap分區(qū),這種行為很有可能導(dǎo)致系統(tǒng)內(nèi)存溢出,出現(xiàn)OOM的錯(cuò)誤,從而導(dǎo)致MySQL被意外kill掉,所以需要謹(jǐn)慎設(shè)置。

100則是積極地使用swap分區(qū),并且把內(nèi)存上面的數(shù)據(jù)及時(shí)搬到swap分區(qū)里(不建議)。這里建議大家不分配swap,或者分配4GB的空間就足夠了。

如何查看swappiness文件呢?

Linux下二進(jìn)制方式如何安裝mysql5.7版本和系統(tǒng)優(yōu)化

[root@tse2 grub2]# cat /proc/sys/vm/swappiness
[root@tse2 grub2]# sysctl -a|grep swap
sysctl: reading key "net.ipv6.conf.all.stable_secret"
sysctl: reading key "net.ipv6.conf.default.stable_secret"
sysctl: reading key "net.ipv6.conf.ens192.stable_secret"
sysctl: reading key "net.ipv6.conf.lo.stable_secret"
vm.swappiness = 30

想要修改swappiness的值,編輯/etc/sysctl.conf,加入vm.swappiness的值即可。

1.4、文件系統(tǒng)的選擇

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

1.5、操作系統(tǒng)的限制

先來(lái)查看一些當(dāng)前操作系統(tǒng)的限制情況,使用ulimit -a查看:

Linux下二進(jìn)制方式如何安裝mysql5.7版本和系統(tǒng)優(yōu)化

這里標(biāo)記了兩個(gè)最為重要的參數(shù),一個(gè)叫open files,另一個(gè)叫max user processes。

open files如果設(shè)置不合理,而當(dāng)前服務(wù)器的連接過(guò)多或者表過(guò)多時(shí),就有可能會(huì)出現(xiàn)打不開(kāi)表或者訪問(wèn)不了表的現(xiàn)象。

默認(rèn)情況下,Linux最大句柄數(shù)為1024個(gè),表示單個(gè)進(jìn)程最多可以訪問(wèn)1024個(gè)文件句柄。如要超過(guò)默認(rèn)值,就會(huì)出現(xiàn)文件句柄超限的錯(cuò)誤”too many open files“。

max user processes參數(shù)的用途:有時(shí)候我們可能會(huì)跑很多實(shí)例,但是發(fā)現(xiàn)創(chuàng)建不了新的連接,報(bào)出“resource temporarily unavailable”的錯(cuò)誤,表示沒(méi)有足夠的資源。

為了防止以上兩種報(bào)錯(cuò)情況,我們可以修改系統(tǒng)的軟硬限制。編輯/etc/security/limits.conf,加入限制的相關(guān)內(nèi)容。記得更改完內(nèi)容之后,需要重啟操作系統(tǒng)才能生效。

[root@tse2 grub2]# vim /etc/security/limits.conf
*        soft  nproc      65535
*        hard  nproc      65535
*        soft  nofile     65535
*        hard  nofile     65535

Linux下二進(jìn)制方式如何安裝mysql5.7版本和系統(tǒng)優(yōu)化

1.6、numa需要關(guān)閉

簡(jiǎn)單來(lái)講關(guān)閉numa功能,可以更好地分配內(nèi)存,不需要采用swap的方式來(lái)獲取內(nèi)存。

因?yàn)橛薪?jīng)驗(yàn)的系統(tǒng)管理員和DBA都知道使用swap導(dǎo)致的數(shù)據(jù)庫(kù)性能下降有多么的惡心。

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

[root@tse2 bin]# numa --interleave=all /mysql/app/bin/mysqld_safe -defaults-file=/etc/my.conf &

2、MySQL5.7版本安裝過(guò)程

檢查完操作系統(tǒng)環(huán)境后,進(jìn)入MySQL安裝階段,總結(jié)為“三部曲+一步走”的方式。

2.1、第一部曲

創(chuàng)建MySQL用戶,指定MySQL所在的用戶組,命令如下:

[root@tse2 /]# groupadd mysql
[root@tse2 /]# useradd -g mysql mysql -s /sbin/nologin

軟件包的家目錄(basedir)我這邊是習(xí)慣統(tǒng)一放在/data/downloads下面:

[root@tse2 downloads]# pwd
/data/downloads

需要解壓MySQL軟件包,命令如下:

[root@tse2 downloads]# tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

需要對(duì)MySQL目錄授權(quán):

[root@tse2 downloads]# chown -R mysql:mysql /mysql

2.2、第二部曲

創(chuàng)建MySQL數(shù)據(jù)庫(kù)的數(shù)據(jù)目錄(datadir),這里可以選擇創(chuàng)建在/mysql/下面:

[root@tse2 downloads]# mkdir -p /mysql/data

也要對(duì)數(shù)據(jù)目錄授權(quán):

[root@tse2 downloads]# chown -R mysql:mysql /mysql/data

2.3、第三部曲

由于是二進(jìn)制的安裝方式,這里的數(shù)據(jù)庫(kù)配置文件需要自己配置好,到此完成最后一部曲

my.cnf配置文件下載地址:https://files.cnblogs.com/files/Sungeek/Tsemy.7z

密碼:tse

2.4、最后一步

mysqld命令初始化數(shù)據(jù)庫(kù):

[root@tse2 mysql]# /mysql/app/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/mysql/app --datadir=/mysql/data/ --user=mysql -initialize

注:如果在初始化過(guò)程中加上--initialize參數(shù),表示會(huì)生成一個(gè)臨時(shí)的數(shù)據(jù)庫(kù)初始化密碼,

記錄在log-error(錯(cuò)誤日志)里面,如果加上--initialize-insecure參數(shù),代表無(wú)密碼進(jìn)入。建議使用生成初始化密碼的方式!

啟動(dòng)數(shù)據(jù)庫(kù)的過(guò)程:

[root@tse2 mysql]# /mysql/app/bin/mysqld_safe --defaults-file=/etc/my.cnf &

數(shù)據(jù)庫(kù)啟動(dòng)成功之后,進(jìn)入數(shù)據(jù)庫(kù)的初始化密碼會(huì)在/mysql/logs/error.log下面:

[root@tse2 logs]# cat /mysql/logs/error.log |grep password

使用初始化密碼進(jìn)入數(shù)據(jù)庫(kù)之后,需要修改數(shù)據(jù)庫(kù)root密碼,設(shè)置為永不過(guò)期:

/mysql/app/bin/mysql -uroot -p
mysql>SET PASSWORD = '123456';
mysql>ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
mysql>flush privileges

什么是Linux系統(tǒng)

Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。

看完了這篇文章,相信你對(duì)“Linux下二進(jìn)制方式如何安裝mysql5.7版本和系統(tǒng)優(yōu)化”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

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

AI