CentOS7源碼安裝MySQL詳細教程

在這里插入圖片描述
😊 @ 作者: Eric
💖 @ 主頁: https://blog.csdn.net/weixin_47316183?type=blog
🎉 @ 主題:CentOS7源碼安裝MySQL詳細教程
?? @ 創作時間: 2023年08月014日

在這里插入圖片描述


文章目錄

  • 1、安裝的四種方式
  • 2、源碼安裝MySQL詳細步驟
    • 2.1、查看是否安裝過MySQL
    • 2.2、卸載之前的MySQL(可選)
    • 2.3、安裝MySQL
      • 1)下載安裝包
      • 2)檢查MySQL依賴
      • 4)具體安裝過程
      • 4)服務的初始化
      • 5)啟動MySQL、查看狀態
      • 7)MySQL登錄
      • 8)修改密碼
  • 3、配置MySQL
    • 3.1、設置MySQL自啟動
    • 3.2、設置允許遠程連接
  • 總結


1、安裝的四種方式

安裝方式特點
rmp安裝簡單、靈活性差、無法靈活選擇版本、升級
rpm repository安裝包極小,版本安裝簡單靈活,升級方便,需要聯網安裝
通用二進制包安裝比較復雜,靈活性高,平臺通用性好
源碼包安裝最復雜,時間長,參數設置靈活,性能好

那么我們這里選擇 源碼包 方式進行安裝,因為性能好同時設置參數靈活

2、源碼安裝MySQL詳細步驟

2.1、查看是否安裝過MySQL

1、如果你是用rpm安裝, 檢查一下RPM PACKAGE:

rpm -qa | grep -i mysql  

2、檢查mysql service:

systemctl status mysqld.service

3、如果存在mysql-libs的舊版本包,顯示如下:
在這里插入圖片描述

如果不存在mysql-lib的版本,顯示如下:
在這里插入圖片描述

2.2、卸載之前的MySQL(可選)

1、關閉 mysql 服務

systemctl stop mysqld.service

2、查看當前 mysql 安裝狀況

rpm -qa | grep -i mysql
# 或
yum list installed | grep mysql

3、卸載上述命令查詢出的已安裝程序

yum remove mysql-xxx mysql-xxx mysql-xxx mysqk-xxxx

務必卸載干凈,反復執行 rpm -qa | grep -i mysql 確認是否有卸載殘留

4、刪除 mysql 相關文件

# 查找相關文件
find / -name mysql# 刪除上述命令查找出的相關文件
rm -rf xxx

5、刪除 my.cnf

rm -rf /etc/my.cnf

2.3、安裝MySQL

1)下載安裝包

  1. 下載地址官網:https://www.mysql.com
  2. 打開官網,找到 DOWNLOADS ,然后點擊 MySQL Community Server
    在這里插入圖片描述

3.選擇 Red Hat Enterprise Linux
在這里插入圖片描述
4.下載的tar包,用壓縮工具打開
在這里插入圖片描述

  1. 解壓后rpm安裝包 (紅框為抽取出來的安裝包)

  2. 解壓后rpm安裝包 (紅框為抽取出來的安裝包)

在這里插入圖片描述
這里為了方便我直接把抽取好的npm包放在了網盤:
鏈接:https://pan.baidu.com/s/1RNppZcP_eaG0zDGDZMrIXQ?pwd=Eric
提取碼:Eric

2)檢查MySQL依賴

1、由于MySQL安裝過程中,會通過MySQL用戶在/tmp目錄下新建tmp_db文件,所以請給/tmp較大的權限。執行 :

cd /opt/chmod -R 777 /tmp

2、檢查 libaio 依賴

rpm -qa|grep libaio

如果存在libaio包如下:
在這里插入圖片描述
3、檢查 net-tools 依賴

rpm -qa|grep net-tools

如果存在 net-tools 包如下:
在這里插入圖片描述
如果不存在 net-tools 則需要安裝

yum install -y net-tools

4)具體安裝過程

1、將安裝程序拷貝到/opt目錄下
在這里插入圖片描述

2、在mysql的安裝文件目錄下執行:(必須按照順序執行)

# 1、先切換到 opt目錄
cd /opt# 2、開始按照順序執行安裝命令(必須按照這個順序執行)
rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpmrpm -ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpmrpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpmrpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm

可能報錯1:

在這里插入圖片描述
一個命令:yum remove mysql-libs 解決,

可能報錯2:

在這里插入圖片描述
一個命令:yum install -y perl-Module-Install.noarch 解決,

安裝成功后查看MySQL版本
執行如下命令,如果成功表示安裝mysql成功。類似java -version如果打出版本等信息

mysql --version
# 或
mysqladmin --version

在這里插入圖片描述

執行如下命令,查看是否安裝成功。需要增加 -i 不用去區分大小寫,否則搜索不到。

rpm -qa | grep -i mysql

在這里插入圖片描述

4)服務的初始化

為了保證數據庫目錄與文件的所有者為 mysql 登錄用戶,如果你是以 root 身份運行 mysql 服務,需要執行下面的命令初始化:

mysqld --initialize --user=mysql

說明: --initialize 選項默認以“安全”模式來初始化,則會為root用戶生成一個密碼并將 該密碼標記為過期 ,登錄后你需要設置一個新的密碼。生成的 臨時密碼 會往日志中記錄一份。

查看密碼:

cat /var/log/mysqld.log

root@localhost: 后面就是初始化的密碼

在這里插入圖片描述

5)啟動MySQL、查看狀態

#加不加.service后綴都可以
啟動:systemctl start mysqld.service關閉:systemctl stop mysqld.service重啟:systemctl restart mysqld.service查看狀態:systemctl status mysqld.service

在這里插入圖片描述

也可以查看MySQL的進程
在這里插入圖片描述

7)MySQL登錄

通過 mysql -hlocalhost -P3306 -uroot -p 進行登錄,在Enter password:錄入初始化密碼

# 1、先查看密碼
cat /var/log/mysqld.log# 2、登錄MySQL
mysql -hlocalhost -P3306 -uroot -p 

在這里插入圖片描述
此時我們登錄試試
在這里插入圖片描述
登錄成功~

8)修改密碼

  • 因為初始化密碼默認是過期的,所以查看數據庫會報錯
  • 修改密碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Hf$ypXW*xJ^rn&0z';

注意:5.7版本之后(不含5.7),mysql加入了全新的密碼安全機制。設置新密碼太簡單會報錯。
在這里插入圖片描述
改為更復雜的密碼規則之后,設置成功,可以正常使用數據庫了

在這里插入圖片描述




3、配置MySQL

3.1、設置MySQL自啟動

先查看MySQL是否自啟動

systemctl list-unit-files | grep mysqld.service

默認是enabled。也就代表是 自啟動

在這里插入圖片描述
如不是enabled可以運行如下命令設置自啟動

systemctl enable mysqld.service

如果不希望自啟動,運行如下命令設置

systemctl disable mysqld.service

3.2、設置允許遠程連接

1、在Linux系統MySQL下測試:

use mysql;select Host,User from user;

在這里插入圖片描述

可以看到root用戶的當前主機配置信息為localhost。

2、修改Host為通配符%

  • Host列指定了允許用戶登錄所使用的IP,
  • 比如 user=root Host=192.168.1.1。這里的意思就是說root用戶只能通過192.168.1.1的客戶端去訪問。 user=rootHost=localhost,表示只能通過本機客戶端去訪問。
  • 而 %是個 通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前綴為“192.168.1.”的客戶端都可以連接。如果 Host=%,表示所有IP都有連接權限。
  • 注意:在生產環境下不能為了省事將host設置為%,這樣做會存在安全問題,具體的設置可以根據生產環境的IP進行設置。

update user set host = '%' where user ='root';

Host設置了“%”后便可以允許遠程訪問。
在這里插入圖片描述
Host修改完成后記得執行flush privileges使配置立即生效:

flush privileges;

如果是 MySQL5.7 版本,接下來就可以使用SQLyog或者Navicat成功連接至MySQL了。

如果是 MySQL8.x 版本,連接時還會出現如下問題:
在這里插入圖片描述

配置新連接報錯:錯誤號碼 2058,分析是 mysql 密碼加密方法變了。

此時我們需要修改密碼加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Hf$ypXW*xJ^rn&0z';

效果如下
在這里插入圖片描述
此時我們可以再次連接,會發現還是連接失敗,這個錯誤就比較簡單了,我們只需要關閉防火墻或者開放MySQL端口即可(在這里我把這兩種方式都列出來,大家任意選擇就好)

方式一:關閉防火墻

# 開啟防火墻
systemctl start firewalld.service# 查看防火墻狀態
systemctl status firewalld.service# 關閉防火墻
systemctl stop firewalld.service#設置開機啟用防火墻
systemctl enable firewalld.service#設置開機禁用防火墻
systemctl disable firewalld.service

方式二:開放端口

# 查看開放的端口號
firewall-cmd --list-all# 設置開放的端口號
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=3306/tcp --permanent# 開放端口號后需要重啟防火墻
firewall-cmd --reload

我這里選擇開放端口(如果是云服務器需要去到控制臺開放安全組端口)

在這里插入圖片描述

此時我們再次連接,發現終于成功啦~

在這里插入圖片描述
在這里插入圖片描述


總結

怎么樣,是不是特別的方便和簡單~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/43200.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43200.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43200.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度解析:DDoS攻擊與先進防御策略

目錄 DDoS 介紹 DDoS 攻擊理論 DDoS 介紹 DDoS(分布式拒絕服務)攻擊是一種惡意網絡活動,旨在通過同時向目標系統發送大量請求或流量,使其無法正常運行或提供服務。攻擊者通常利用網絡上的多個計算機和設備,形成一個&…

極智嘉x吉利汽車 x京東物流,引領汽車行業智慧物流新變革!

近日,中國領先的汽車制造商吉利汽車攜手中國領先的技術驅動的供應鏈解決方案及物流服務商京東物流、全球倉儲機器人引領者極智嘉(Geek),在西安吉利汽車制造基地RDC倉庫率先落地SkyPick上存下揀解決方案,實現了全物流鏈精益化、智能化、一體化…

Spring-4-掌握Spring事務傳播機制

今日目標 能夠掌握Spring事務配置 Spring事務管理 1 Spring事務簡介【重點】 1.1 Spring事務作用 事務作用:在數據層保障一系列的數據庫操作同成功同失敗 Spring事務作用:在數據層或業務層保障一系列的數據庫操作同成功同失敗 1.2 案例分析Spring…

STM32--TIM定時器(2)

文章目錄 輸出比較PWM輸出比較通道參數計算舵機簡介直流電機簡介TB6612 PWM基本結構PWM驅動呼吸燈PWM驅動舵機PWM控制電機 輸出比較 輸出比較,簡稱OC(Output Compare)。 輸出比較的原理是,當定時器計數值與比較值相等或者滿足某種…

【數據結構OJ題】有效的括號

原題鏈接:https://leetcode.cn/problems/valid-parentheses/ 目錄 1. 題目描述 2. 思路分析 3. 代碼實現 1. 題目描述 2. 思路分析 這道題目主要考查了棧的特性: 題目的意思主要是要做到3點匹配:類型、順序、數量。 題目給的例子是比較…

【Hibench 】完成 HDP-Spark 性能測試

🍁 博主 "開著拖拉機回家"帶您 Go to New World.?🍁 🦄 個人主頁——🎐開著拖拉機回家_Linux,Java基礎學習,大數據運維-CSDN博客 🎐?🍁 🪁🍁 希望本文能夠給您帶來一定的…

單片機實訓報告

這周我們進行了單片機實訓,一周中我們通過七個項目1:P1 口輸入/輸出 2:繼電器控制 3 音頻控制 4:子程序設計 5:字符碰頭程序設計 6:外部中斷 7: 急救車與交通信號燈,練習編寫了子程…

mysql 設置 mysql 日志時間與系統時間保持一致

臨時設置 mysql> show variables like %log_timestamps%;-----------------------| Variable_name | Value |-----------------------| log_timestamps | UTC |-----------------------1 row in set (0.00 sec)系統是 CST , nysql 是 UTC當UTC時間為0點時&am…

docker的使用方法總結

Docker是一個非常強大的工具,它可以用于創建、部署和運行應用程序。以下是一些docker相關的常用指令, 1、查看docker版本 docker version 2、查看正在運行的Docker容器 docker ps 3、查看所有的docker容器(包括沒有運行的容器&#xff0…

Python 之 Http 獲取網頁的 html 數據,并去掉 html 格式等相關信息

Python之 Http 獲取網頁的 html 數據,并去掉 html 格式等相關信息 目錄 Python之 Http 獲取網頁的 html 數據,并去掉 html 格式等相關信息

SCF金融公鏈新加坡啟動會 創新驅動未來

新加坡迎來一場引人矚目的金融科技盛會,SCF金融公鏈啟動會于2023年8月13日盛大舉行。這一受矚目的活動將為金融科技領域注入新的活力,并為廣大投資者、合作伙伴以及關注區塊鏈發展的人士提供一個難得的交流平臺。 在SCF金融公鏈啟動會上, Wil…

級聯(數據字典)

二級級聯: 一:新建兩個Bean 父級: /*** Description 數據字典* Author WangKun* Date 2023/7/25 10:15* Version*/ Data AllArgsConstructor NoArgsConstructor TableName("HW_DICT_KEY") public class DictKey implements Seri…

excel快速選擇數據、選擇性粘貼、凍結單元格

一、如何快速選擇數據 在excel中,希望選擇全部數據,通常使用鼠標選擇數據然后往下拉,當數據很多時,也可單擊單元格使用ctrl A選中全部數據,此外,具體介紹另一種方法。 操作:ctrl shift 方向…

【C++】STL---list

STL---list 一、list 的介紹二、list 的模擬實現1. list 節點類2. list 迭代器類(1)前置(2)后置(3)前置- -、后置- -(4)! 和 運算符重載(5)* 解引用重載 和 …

css3新增屬性

文章目錄 css3新增屬性box-shadowborder-radius設置橢圓 position: sticky;漸變背景線性漸變可重復的漸變背景 徑向漸變可重復的漸變背景 過渡分屬性 動畫關鍵幀與transition的關系demo 變形平移使用 旋轉使用 其他使用立體效果perspective元素位于3D空間還是平面中 縮放變形的…

tornado在模板中遍歷二維數組

要在Tornado模板中遍歷一個二維數組&#xff0c;你可以使用Tornado的模板語法來實現迭代和顯示數組中的每個元素。 以下是一個示例&#xff0c;演示如何在Tornado模板中遍歷和顯示二維數組的內容&#xff1a; template.html: <!DOCTYPE html> <html> <head&g…

小米分享 | 解密面試題:網易面試如何回答“創建線程有哪幾種方式?”

大家好&#xff0c;我是你們的小米&#xff01;今天要和大家一起探討一個在技術面試中常見的問題&#xff1a;創建線程有哪幾種方式&#xff1f;這可是個經典面試題哦&#xff01;不過別擔心&#xff0c;小米在這里為你詳細解析&#xff0c;幫你輕松應對&#xff0c;讓你在面試…

深度學習在MRI運動校正中的應用綜述

運動是MRI中的主要挑戰之一。由于MR信號是在頻率空間中獲取的&#xff0c;因此除了其他MR成像偽影之外&#xff0c;成像對象的任何運動都會導致重建圖像中產生偽影。深度學習被提出用于重建過程的幾個階段的運動校正。廣泛的MR采集序列、感興趣的解剖結構和病理學以及運動模式&…

用dcker極簡打包java.jar鏡像并啟動

用dcker極簡打包java.jar鏡像并啟動 一、本地打包好jar包 二、新建文件夾&#xff0c;將步驟1中的jar包拷貝到文件夾下 三、同目錄下新建Dockerfile ## 基礎鏡像&#xff0c;這里用的是openjdk:8 FROM openjdk:8## 將步驟一打包好的jar包 拷貝到鏡像的 跟目錄下[目錄可以自定義…

Oracle字段長度不足位數補零

Oracle字段長度不足位數補零 有時候從數據庫中取出的月份值是1&#xff0c;而不是01&#xff0c;該怎么辦呢 SELECTLPAD( CODE_MONTH, 2, 0 ) FROMtb_cube_TY001 WHERECODE_BM_MEATYPE TY20 AND code_measure MYLX01 AND code_month <> ~ AND CODE_ENTITY 01A AND…