mysql學習2:第二章:mysql安裝啟動和關閉——安裝前檢查
1.1. 下載安裝包
官方地址:
下載版本:Mysql Community Server,平臺Linux-Generic x86-64bit。
下載安裝包mysql 5.6 mysql5.7
下載後進行透過md5校驗安裝包:md5sum filename
2018.11.3當前官網最新版本:
mysql 5.7.24
mysql 5.6.42
版本安裝區別:
mysql 5.7之前版本在資料庫初始化過程中需要藉助於/usr/local/mysql/scripts/mysql_install_db命令,但在mysql 5.7後mysql_install_db被廢棄了。
1.2. 安裝前系統環境檢測
由於書中未制定作業系統平臺,這裡選用centos7.4_x64。
[root@localhost ~]# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
ip地址設定為192.0.2.10
1.2.1. 解除安裝原系統帶的MariaDB
CentOS7預設安裝MariaDB而不是MySQL,而且yum伺服器上也移除了MySQL相關的軟體包。因為MariaDB和MySQL可能會衝突,故先解除安裝MariaDB。
記得一定要先解除安裝,不然會出現包衝突的問題。
需要將系統自帶的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. 關閉selinux、iptables、firewall
關閉selinux
/etc/sysconfig/selinux
關閉iptables
chkconfig --list|grep iptables
chkconfig iptables off
關閉防火牆
Centos7中防火牆變為了firewall,所以千萬不要在使用iptable去關閉了。
1 檢視防火牆狀態
# firewall-cmd --state
running
2 果然是執行的,於是就想disabled防火牆服務
# systemctl mask firewalld
ln -s '/dev/null' '/etc/systemd/system/firewalld.service'
3 然後關閉防火牆
# systemctl stop firewalld
4 最後檢查防火牆服務,發現已經關閉了
# firewall-cmd --state
not running
1.2.3. IO排程系統模式修改
將IO排程系統設定為deadline模式
本系統檢視
[root@localhost ~]# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
更改IO系統排程的方法根據系統不同,本次沒有測試。
關於IO排程
具體參考:http://blog.itpub.net/29519108/viewspace-2218623/
總結:
1、CFQ和DEADLINE考慮的焦點在於滿足零散IO請求上。對於連續的IO請求,比如順序讀,並沒有做最佳化。為了滿足隨機IO和順序IO混合的場景,Linux還支援ANTICIPATORY排程演算法。ANTICIPATORY的在DEADLINE的基礎上,為每個讀IO都設定了6ms的等待時間視窗。如果在這6ms內OS收到了相鄰位置的讀IO請求,就可以立即滿足。
IO排程器演算法的選擇,既取決於硬體特徵,也取決於應用場景。
在傳統的SAS盤上,CFQ、DEADLINE、ANTICIPATORY都是不錯的選擇;對於專屬的資料庫伺服器,DEADLINE的吞吐量和響應時間都表現良好。
然而在新興的固態硬碟比如SSD、Fusion IO上,最簡單的NOOP反而可能是最好的演算法,因為其他三個演算法的最佳化是基於縮短尋道時間的,而固態硬碟沒有所謂的尋道時間且IO響應時間非常短。
2、對於資料庫應用, Anticipatory Scheduler 的表現是最差的。Deadline 在 DSS 環境表現比 cfq 更好一點,而 cfq 綜合來看錶現更好一些。這也難怪 RHEL預設的 IO 排程器設定為 cfq。
1.2.4. swap分割槽設定
swapiness值在0和100之間,0代表最大下怒使用實體記憶體,然後使用SWAP分割槽。100則積極使用swap分割槽,把記憶體資料庫及時搬到swap分割槽下。
檢視本系統;
[root@localhost ~]# cat /proc/sys/vm/swappiness
30
如需更改,編輯/etc/sysctl.conf,加入vm.swappiness的值即可。
1.2.5. 檔案系統
建議使用XFS檔案系統,相比ext4,更加方便管理,支援動態擴容, 刪除檔案也方便。
具體參考:http://blog.itpub.net/29519108/viewspace-2218624/
1.2.6. 作業系統限制
unlimit -a 檢視引數
[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 預設1024,表示單個程式最多可以訪問1024各檔案控制程式碼。系統連結或表過多,會出現打不開或者範圍內不了的情況。
max user processes 預設7185,連線數。
修改/etc/security/limits.conf,加入限制的相關內容,後重啟系統。
* hard nproc 65535
* soft nproc 65535
* soft nofile 65535
* hard nofile 65535
1.2.7. numa需要關閉
具體參考:http://blog.itpub.net/29519108/viewspace-2218625/
關閉numa功能,可以更好分配記憶體,不需要採用哦個seap方式來獲取記憶體。
關閉方式分在BIOS、作業系統給中關閉,或者在資料庫啟動過程關閉。
numa --interleave=all /usr/loal/mysql/bin/mysqld_safe -defaults-file=/etc/my.cnf &
非一致儲存訪問結構 (NUMA : Non-Uniform Memory Access) 也是最新的記憶體管理技術。它和對稱多處理器結構 (SMP : Symmetric Multi-Processor) 是對應的。
MySQL單機單例項,建議關閉NUMA,關閉的方法有三種:
1.硬體層,在BIOS中設定關閉;
2.OS核心,啟動時設定numa=off;
3.可以用numactl命令將記憶體分配策略修改為interleave(交叉)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-2218715/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql學習3:第二章:mysql安裝啟動和關閉——mysql5.6安裝MySql
- mysql學習4:第二章:mysql安裝啟動和關閉——mysql5.7安裝MySql
- mysql學習5:第二章:mysql安裝啟動和關閉——密碼重置及許可權管理MySql密碼
- MySQL概述以及MySQL的安裝以及啟動MySql
- Mysql安裝解除安裝與啟停MySql
- 安裝mysql和mysql workbenchMySql
- 在 Windows 平臺下安裝與配置 MySQL 5.7.36之啟動與關閉MySQL服務WindowsMySql
- Mysql學習筆記(安裝篇)MySql筆記
- mysql安裝教程8.0.26 安裝mysql的步驟和方法MySql
- linux環境安裝——mysql安裝複習LinuxMySql
- Linux下的MongoDB安裝&啟動&關閉LinuxMongoDB
- 【Mysql】Windows下安裝和配置MysqlMySqlWindows
- mysql01_安裝前準備MySql
- 安裝mysqlMySql
- MySQL安裝MySql
- mysql 安裝MySql
- Linux安裝解除安裝MySQLLinuxMySql
- 連網安裝mysql與原始碼安裝mysqlMySql原始碼
- 【MySQL安裝】Linux下安裝MySQL(預編譯)MySqlLinux編譯
- navicat檢視mysql安裝位置命令MySql
- 【推薦 - glibc安裝】MySQL - 安裝MySql
- MySQL 8.0.21下載安裝教程及Navicat for MySQL安裝MySql
- RockyLinux安裝MySQLLinuxMySql
- ubuntu安裝MySQLUbuntuMySql
- Debian安裝MySQLMySql
- helm安裝mysqlMySql
- Ubuntu 安裝 mysqlUbuntuMySql
- Linux安裝MySQLLinuxMySql
- Docker 安裝mysqlDockerMySql
- MySQL安裝流程MySql
- Windows安裝mysqlWindowsMySql
- docker安裝mysqlDockerMySql
- macbook 安裝 mysqlMacMySql
- MySQL 的安裝MySql
- MySQL安裝配置MySql
- docker 安裝 mysqlDockerMySql
- MYSQL免安裝MySql
- mysql window 安裝MySql