Linux下二進位方式安裝mysql5.7版本和系統優化

来源:https://www.cnblogs.com/Sungeek/archive/2020/01/15/12197760.html
-Advertisement-
Play Games

本文主要介紹MySQL二進位軟體包的安裝/啟動/關閉過程。 也許有人要問為什麼要選擇二進位的安裝方式呢? 其實答案很簡單,官方版本中已經把所有功能都配置好了,我們可以很方便地拿來使用。 官方MySQL有四個版本:GA版本、DMR版本、RC版本和Beta版本。一般情況下,生產環境或者測試環境都 選擇G ...


 

本文主要介紹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
30
[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;

以上就是MySQL5.7版本的安裝啟動方式和系統優化的部分優化說明。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 簡介 在bash腳本編程中,條件結構體使用if語句和case語句兩種句式。 if語句 單分支if語句 if TEST; then CMD fi TEST:條件判斷,多數情況下可使用test命令來實現,返回值為0的話則執行CMD,否則就離開該條件結構體,腳本繼續往下執行。 [root@c7-serve ...
  • vmware進程殺不掉 在使用vmware虛擬機時,如果強制結束vmware進程,可能會發現在資源監視器中有一個vmware-vmx.exe進程始終關不掉,獲得管理員許可權去殺或者重啟都沒有用,然後正常的虛擬機打不開,也無法卸載或者更新 網上所有的教程都嘗試過了,也還是不行。我的解決方法是:首先重啟計 ...
  • 背景 在linux系統中提供了2個查詢系統負荷值的命令,一個是 ps o THREAD 一個是 top ,這兩個命令都能夠查詢當前進程的CPU使用率情況,但是所代表的含義確實不一樣的, ps o THREAD 偏向與整個進程周期所占的CPU使用率,而 top 更偏向於某個固定時間視窗的CPU使用率也 ...
  • 隨著自旋轉移矩效應的發現以及材料和結構的優化,基於自旋轉移矩效應的STT-MRAM器件應運而生。自從自旋轉移矩效應被證實以來,一方面研究人員通過大量的努力嘗試降低磁化反轉的臨界電流,增加熱穩定性;另一方面Sony、Hitachi、Renesas、Crocus、Toshiba、Samsung、Hyni ...
  • VIM編譯器的安裝與使用 vim編輯器安裝 在CentOS中,執行:yum -y install vim 普通模式 h: 左移一個字元 j: 下移一行 k: 上移一行 l: 右移一個字元 PageDown(或Ctrl+F):下翻一屏 PageUp(或Ctrl+B):上翻一屏 G:移到緩衝區的最後一行 ...
  • centos安裝與網路配置 關機:shutdown -h now 重啟:shutdown -r now 或 reboot linux目錄結構與操作命令 使用ls命令查看目錄結構 目錄查看: ls [-al] [ 文件或目錄名稱] 目錄切換: cd [ 目錄名稱] 顯示當前目錄: pwd 絕對路徑 : ...
  • 系統環境 "官方網站" "官方文檔" 升級其實很簡單如果您上次安裝的版本是編譯的也不用擔心 修改變數 複製配置文件即可註:本次升級基於yum升級 升級zabbix 更新前請務必備份好原有zabbix文件內容 不要刪除 升級過程 配置yum源升級zabbix的方式在3.0以後都是通用的 想升級到那個版 ...
  • 屏幕解析度設置 電源屏幕顯示時間 投影可以進行手機投影到電腦進行操作,遠程桌面可以進行遠程訪問,如雲伺服器 設置桌面圖標和背景 設置預設應用 安裝軟體,必備的幾項軟體 --其中個人認為(1)(2)是必須的 安全軟體:火絨安全。 驅動軟體:GeForce。 瀏覽器:谷歌。 聊天軟體:QQ,WeChat ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...