CentOS安裝MySQL的兩種方式——RPM和YUM

来源:https://www.cnblogs.com/shixiaobin/p/18165871
-Advertisement-
Play Games

0、首先確認是否安裝過MySQL yum list installed | grep mysql rpm -qa | grep mysql 若果有安裝,需要先刪除舊版本。yum remove mysql 一、通過官網下載tar壓縮包(或者直接下載RPM安裝包) 1.打開MySQL官網下載地址,選擇適 ...


0、首先確認是否安裝過MySQL

yum list installed | grep mysql
rpm -qa | grep mysql
若果有安裝,需要先刪除舊版本。yum remove mysql

一、通過官網下載tar壓縮包(或者直接下載RPM安裝包)

1.打開MySQL官網下載地址,選擇適合自己的版本,下載tar壓縮包。

image

2.通過WinSCP等工具上傳到CentOS伺服器並解壓

image

創建MySQL的安裝路徑mkdir /usr/local/MySQL
解壓上傳好的MySQL壓縮包,解壓後得到若幹RPM安裝包

[root@2a792e360945 ~]# tar -xvf /root/temp/mysql-5.7.41-1.el7.x86_64.rpm-bundle.
tar -C /usr/local/MySQL
mysql-community-client-5.7.41-1.el7.x86_64.rpm
mysql-community-common-5.7.41-1.el7.x86_64.rpm
mysql-community-devel-5.7.41-1.el7.x86_64.rpm
mysql-community-embedded-5.7.41-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.41-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.41-1.el7.x86_64.rpm
mysql-community-libs-5.7.41-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.41-1.el7.x86_64.rpm
mysql-community-server-5.7.41-1.el7.x86_64.rpm
mysql-community-test-5.7.41-1.el7.x86_64.rpm

3.安裝RPM包
因為是使用RPM安裝軟體包,所以需要手動解決依賴關係,一般安裝 MySQL 時需要按照以下順序安裝這些軟體包。首先切換到MySQL的安裝路徑cd /usr/local/MySQL,然後依次執行下列安裝命令

rpm -ivh mysql-community-common-5.7.41-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.41-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.41-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.41-1.el7.x86_64.rpm

其他安裝包是MySQL的開發文件或者測試文件,非必須安裝。
如果安裝mysql-community-server-5.7.41-1.el7.x86_64.rpm的時候,出現依賴關係的錯誤,可能是由於系統沒有安裝依賴項,根據提示安裝缺少的依賴項再執行mysql-community-server-5.7.41-1.el7.x86_64.rpm的安裝即可
例如我的CentOS是新安裝的鏡像,沒有安裝任何依賴項,有如下輸出信息

[root@2a792e360945 MySQL]# rpm -ivh mysql-community-server-5.7.41-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.41-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
error: Failed dependencies:
        /usr/bin/perl is needed by mysql-community-server-5.7.41-1.el7.x86_64
        libaio.so.1()(64bit) is needed by mysql-community-server-5.7.41-1.el7.x86_64
        libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-5.7.41-1.el7.x86_64
        libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-5.7.41-1.el7.x86_64
        libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.41-1.el7.x86_64
        libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-5.7.41-1.el7.x86_64
        libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-5.7.41-1.el7.x86_64
        perl(Getopt::Long) is needed by mysql-community-server-5.7.41-1.el7.x86_64
        perl(strict) is needed by mysql-community-server-5.7.41-1.el7.x86_64

使用軟體包管理工具(例如yum)來安裝這些依賴項
yum install perl libaio libnuma perl-Getopt-Long perl-strict numactl
安裝完依賴項之後,再安裝MySQL服務,即可安裝成功。
至此,RPM方式安裝MySQL就結束了。

二、通過YUM的方式安裝

這種安裝方式的好處是不用手動管理依賴關係,YUM(軟體包管理工具)會自動按順序安裝依賴項並解決依賴關係。但是不能安裝任意我們想安裝的歷史版本。

1.先卸載上面安裝過的5.7.41版本的MySQL
查看當前以及安裝的MySQL
yum list installed | grep mysql
rpm -qa | grep mysql

[root@2a792e360945 MySQL]# yum list installed | grep mysql
mysql-community-client.x86_64           5.7.41-1.el7                   installed
mysql-community-common.x86_64           5.7.41-1.el7                   installed
mysql-community-libs.x86_64             5.7.41-1.el7                   installed
mysql-community-server.x86_64           5.7.41-1.el7                   installed

卸載這四個軟體包
yum remove mysql-community-client mysql-community-common mysql-community-libs mysql-community-server

image

再次確認是否卸載成功

[root@2a792e360945 MySQL]# rpm -qa | grep mysql
[root@2a792e360945 MySQL]#

2.查看CentOS伺服器上是否已經存在yum安裝包
yum list | grep mysql

image

上圖不存在與 MySQL 伺服器軟體本身相關的軟體包。這些列表顯示了與 MySQL 資料庫相關的其他軟體包,如 MySQL 的客戶端庫、連接器、PHP 的 MySQL 擴展等。

3.獲取MySQL官方yum源並安裝
MySQL官方源網站獲取yum源地址,具體步驟如下

image

image

把複製的下載鏈接在CentOS伺服器下載yum源(如果沒有安裝wget的話,先安裝wgetyum install wget
wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm

image

②安裝yum源
rpm -Uvh mysql80-community-release-el7-11.noarch.rpm

image

查看所有版本的MySQL的yum源
yum makecache
yum repolist all | grep mysql

image

可以看到8.0版本的yum源是enable,而5.7版本是disable,但是我要安裝5.7版本,按照下麵命令禁用8.0,啟用5.7即可
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community

點擊查看代碼

[root@2a792e360945 MySQL]# yum-config-manager --disable mysql80-community
Loaded plugins: fastestmirror, ovl
======================================== repo: mysql80-community =========================================
[mysql80-community]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7
baseurl = http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64
cache = 0
cachedir = /var/cache/yum/x86_64/7/mysql80-community
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = 0
enablegroups = True
exclude =
failovermethod = priority
ftp_disable_epsv = False
gpgcadir = /var/lib/yum/repos/x86_64/7/mysql80-community/gpgcadir
gpgcakey =
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/7/mysql80-community/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023,
   file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022,
   file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
hdrdir = /var/cache/yum/x86_64/7/mysql80-community/headers
http_caching = all
includepkgs =
ip_resolve =
keepalive = True
keepcache = False
mddownloadpolicy = sqlite
mdpolicy = group:small
mediaid =
metadata_expire = 21600
metadata_expire_filter = read-only:present
metalink =
minrate = 0
mirrorlist =
mirrorlist_expire = 86400
name = MySQL 8.0 Community Server
old_base_cache_dir =
password =
persistdir = /var/lib/yum/repos/x86_64/7/mysql80-community
pkgdir = /var/cache/yum/x86_64/7/mysql80-community/packages
proxy = False
proxy_dict =
proxy_password =
proxy_username =
repo_gpgcheck = False
retries = 10
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert =
sslclientcert =
sslclientkey =
sslverify = True
throttle = 0
timeout = 30.0
ui_id = mysql80-community/x86_64
ui_repoid_vars = releasever,
   basearch
username =

[root@2a792e360945 MySQL]# yum-config-manager --enable mysql57-community
Loaded plugins: fastestmirror, ovl
======================================== repo: mysql57-community =========================================
[mysql57-community]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7
baseurl = http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64
cache = 0
cachedir = /var/cache/yum/x86_64/7/mysql57-community
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = 1
enablegroups = True
exclude =
failovermethod = priority
ftp_disable_epsv = False
gpgcadir = /var/lib/yum/repos/x86_64/7/mysql57-community/gpgcadir
gpgcakey =
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/7/mysql57-community/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023,
   file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022,
   file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
hdrdir = /var/cache/yum/x86_64/7/mysql57-community/headers
http_caching = all
includepkgs =
ip_resolve =
keepalive = True
keepcache = False
mddownloadpolicy = sqlite
mdpolicy = group:small
mediaid =
metadata_expire = 21600
metadata_expire_filter = read-only:present
metalink =
minrate = 0
mirrorlist =
mirrorlist_expire = 86400
name = MySQL 5.7 Community Server
old_base_cache_dir =
password =
persistdir = /var/lib/yum/repos/x86_64/7/mysql57-community
pkgdir = /var/cache/yum/x86_64/7/mysql57-community/packages
proxy = False
proxy_dict =
proxy_password =
proxy_username =
repo_gpgcheck = False
retries = 10
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert =
sslclientcert =
sslclientkey =
sslverify = True
throttle = 0
timeout = 30.0
ui_id = mysql57-community/x86_64
ui_repoid_vars = releasever,
   basearch
username =

③安裝MySQL軟體包
yum -y install mysql-community-server

image

三、啟動MySQL

查看MySQL服務狀態
systemctl status mysqld

image

啟動MySQL服務
systemctl start mysqld


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

-Advertisement-
Play Games
更多相關文章
  • 在開始主題之前,先介紹一個刷固件工具。這個工具在 idf 中是集成的,不過,樂鑫也單獨發佈了這個工具—— esptool。下載鏈接:Releases · espressif/esptool · GitHub。這貨是用 Python 寫的,只是封裝成了 exe,方便直接運行罷了。 在使用時,需要 -p ...
  • 哈嘍大家好,我是鹹魚。(博客網址: https://xxxsalted.github.io/) 在搭建了博客並換了主題之後,發現有許多細節方面的東西還需要完善和定製化一下,比如說行距和引用的樣式我不是很喜歡,以及沒有評論功能。 於是決定自己動手,說乾就乾。 PS:下文的修改操作僅限於博客主題(Kli ...
  • Everything is a file 是一個經典的概念。Linux系統將所有的東西都看作是文件,包括將硬體設備、進程、網路連接等均抽象為文件。 ...
  • 一:kvm工具棧 kvm主要的工具棧,從大的類別可以分為libvirt和qemu這2大類,其中libvirt中分為virtual machine manager和virsh ,virtual machine manager中的virt-manager是基於圖形化界面的管理,其他的都是可以在命令直接使 ...
  • 痞子衡嵌入式半月刊: 第 98 期 這裡分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時發佈一期。 本期刊是開源項目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。 上期回顧 ...
  • 目錄Linux學習大綱命令提示符命令的格式路徑的分類文件的分類目錄的結構一些快捷鍵 Linux學習大綱 命令提示符 通常情況下,我們使用Linux都是在命令行環境下, 所以學習 Linux 的第一步需要瞭解 Linux 的命令提示符。 Linux命令提示符通常由用戶名、主機名和當前工作目錄組成。 [ ...
  • 1、下載必備安裝包 make、gcc(debian中可用build-essential包)、bc、linux-headers-$(uname -r)、dkms sudo apt install build-essential bc sudo apt install linux-headers-$(u ...
  • 目錄一、什麼是MongoDB的副本集二、副本集的架構三、副本集的成員四、部署副本集1、節點劃分2、安裝MongoDB2.1、下載解壓安裝包3、創建主節點3.1、創建存儲數據和日誌的目錄3.2、新建配置文件3.3、啟動節點服務4、創建副本節點4.1、創建存儲數據和日誌的目錄4.2、新建配置文件4.3、 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...