共計 3741 個字符,預計需要花費 10 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
丸趣 TV 小編給大家分享一下 Linux 下二進制方式如何安裝 mysql5.7 版本和系統優化,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
本文主要介紹 MySQL 二進制軟件包的安裝 / 啟動 / 關閉過程。
也許有人要問為什么要選擇二進制的安裝方式呢?
其實答案很簡單,官方版本中已經把所有功能都配置好了,我們可以很方便地拿來使用。
官方 MySQL 有四個版本:GA 版本、DMR 版本、RC 版本和 Beta 版本。一般情況下,生產環境或者測試環境都
選擇 GA 版本(常規可用的版本,經過 bug 修復測試過)。
下載地址:https://dev.mysql.com/downloads/mysql/
下載完成以后可以檢驗一下 MD5,我這邊之前下載的版本,這邊就演示這個命令的使用(md5sum 文件名)
[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
1、安裝前系統環境檢測
不管是 MySQL 哪個版本的安裝,為了可以很順利地把 MySQL 數據庫安裝好,做好后期數據庫的優化工作,在前期進行 Linux 的系統檢測是十分有必要的。
1.1、selinux 和 iptables 需要關閉,把 SELINUX=disabled,改完重啟服務器生效。
我這里沒有 iptables 用的是 firewall 所以不用關閉 iptables
1.2、I/ O 調度系統默認是 cfq 模式,這里強烈建議使用 deadline 模式
查看 I / O 調度文件:
[root@tse2 downloads]# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
1.3、swap 分區的設置
swpapiness 值的大小對如何使用 swap 分區有著很大的影響。
它有 0 和 100 兩個極限值,0 代表最大限度地使用物理內存,然后才使用 swap 分區,這種行為很有可能導致系統內存溢出,出現 OOM 的錯誤,從而導致 MySQL 被意外 kill 掉,所以需要謹慎設置。
100 則是積極地使用 swap 分區,并且把內存上面的數據及時搬到 swap 分區里(不建議)。這里建議大家不分配 swap,或者分配 4GB 的空間就足夠了。
如何查看 swappiness 文件呢?
[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、文件系統的選擇
這里建議使用 xfs 文件系統,相比 ext4,它更方便管理,支持動態擴容,刪除文件也很方便。
1.5、操作系統的限制
先來查看一些當前操作系統的限制情況,使用 ulimit - a 查看:
這里標記了兩個最為重要的參數,一個叫 open files,另一個叫 max user processes。
open files 如果設置不合理,而當前服務器的連接過多或者表過多時,就有可能會出現打不開表或者訪問不了表的現象。
默認情況下,Linux 最大句柄數為 1024 個,表示單個進程最多可以訪問 1024 個文件句柄。如要超過默認值,就會出現文件句柄超限的錯誤”too many open files“。
max user processes 參數的用途:有時候我們可能會跑很多實例,但是發現創建不了新的連接,報出“resource temporarily unavailable”的錯誤,表示沒有足夠的資源。
為了防止以上兩種報錯情況,我們可以修改系統的軟硬限制。編輯 /etc/security/limits.conf,加入限制的相關內容。記得更改完內容之后,需要重啟操作系統才能生效。
[root@tse2 grub2]# vim /etc/security/limits.conf
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
1.6、numa 需要關閉
簡單來講關閉 numa 功能,可以更好地分配內存,不需要采用 swap 的方式來獲取內存。
因為有經驗的系統管理員和 DBA 都知道使用 swap 導致的數據庫性能下降有多么的惡心。
關閉方式也分在 BIOS、操作系統中關閉,或者是在數據庫啟動過程中關閉。
[root@tse2 bin]# numa --interleave=all /mysql/app/bin/mysqld_safe -defaults-file=/etc/my.conf
2、MySQL5.7 版本安裝過程
檢查完操作系統環境后,進入 MySQL 安裝階段,總結為“三部曲 + 一步走”的方式。
2.1、第一部曲
創建 MySQL 用戶,指定 MySQL 所在的用戶組,命令如下:
[root@tse2 /]# groupadd mysql
[root@tse2 /]# useradd -g mysql mysql -s /sbin/nologin
軟件包的家目錄(basedir)我這邊是習慣統一放在 /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
需要對 MySQL 目錄授權:
[root@tse2 downloads]# chown -R mysql:mysql /mysql
2.2、第二部曲
創建 MySQL 數據庫的數據目錄(datadir),這里可以選擇創建在 /mysql/ 下面:
[root@tse2 downloads]# mkdir -p /mysql/data
也要對數據目錄授權:
[root@tse2 downloads]# chown -R mysql:mysql /mysql
/data
2.3、第三部曲
由于是二進制的安裝方式,這里的數據庫配置文件需要自己配置好,到此完成最后一部曲
my.cnf 配置文件下載地址:https://files.cnblogs.com/files/Sungeek/Tsemy.7z
密碼:tse
2.4、最后一步
mysqld 命令初始化數據庫:
[root@tse2 mysql]# /mysql/app/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/mysql/app --datadir=/mysql/data/ --user=mysql -initialize
注:如果在初始化過程中加上 –initialize 參數,表示會生成一個臨時的數據庫初始化密碼,
記錄在 log-error(錯誤日志)里面,如果加上 –initialize-insecure 參數,代表無密碼進入。建議使用生成初始化密碼的方式!
啟動數據庫的過程:
[root@tse2 mysql]# /mysql/app/bin/mysqld_safe --defaults-file=/etc/my.cnf
數據庫啟動成功之后,進入數據庫的初始化密碼會在 /mysql/logs/error.log 下面:
[root@tse2 logs]# cat /mysql/logs/error.log |grep password
使用初始化密碼進入數據庫之后,需要修改數據庫 root 密碼,設置為永不過期:
/mysql/app/bin/mysql -uroot -p
mysql SET PASSWORD = 123456
mysql ALTER USER root @ localhost PASSWORD EXPIRE NEVER;
mysql flush privileges
什么是 Linux 系統
Linux 是一種免費使用和自由傳播的類 UNIX 操作系統,是一個基于 POSIX 的多用戶、多任務、支持多線程和多 CPU 的操作系統,使用 Linux 能運行主要的 Unix 工具軟件、應用程序和網絡協議。
看完了這篇文章,相信你對“Linux 下二進制方式如何安裝 mysql5.7 版本和系統優化”有了一定的了解,如果想了解更多相關知識,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!
向 AI 問一下細節