數據庫-MYSQL配置下載

目錄

一.數據庫概念

一、數據庫的基本定義

二、數據庫管理系統(DBMS)

三、數據庫系統(DBS)

四、數據模型

五、數據庫的特點

六、數據庫的應用領域

二.MySql

一、開源免費,降低中大型項目成本

二、跨平臺與兼容性,適配中大型系統復雜環境

三、高性能與穩定性,支撐中大型系統的高并發需求

四、可擴展性強,滿足中大型系統的規模增長

五、豐富的生態與工具鏈,提升中大型項目效率

六、社區支持與版本迭代,保障長期可用性

三.MYSQL的安裝配置(社區版免費)

1. 下載 MySQL 安裝包

2. 解壓與配置環境變量

3. 初始化配置文件

4. 初始化與安裝服務

5. 登錄與修改密碼

二、Linux 系統(CentOS 7/8)安裝配置 MySQL

1. 卸載舊版本(如有)

2. 安裝 MySQL

3. 啟動服務與設置開機自啟

4. 獲取臨時密碼與修改密碼

5. 配置遠程訪問(可選)

三、macOS 系統安裝配置 MySQL

1. 下載與安裝

2. 啟動服務

3. 初始化與修改密碼

四、通用配置優化(適合中大型系統)

五、驗證安裝成功


一.數據庫概念

一、數據庫的基本定義

數據庫(Database,簡稱 DB)是長期存儲在計算機內、有組織的、可共享的大量數據的集合。其數據按照一定的數據模型組織、描述和存儲,具有較小的冗余度、較高的數據獨立性和易擴展性,并可為各種用戶共享。

例如,學校的學生信息管理系統中,存儲學生基本信息、成績、選課情況等數據的集合就是一個數據庫。

二、數據庫管理系統(DBMS)

數據庫管理系統是位于用戶與操作系統之間的一層數據管理軟件,它為用戶或應用程序提供訪問數據庫的方法,包括數據庫的建立、查詢、更新及各種數據控制。

常見的 DBMS 有:

  • 關系型數據庫管理系統:MySQL、Oracle、SQL Server、PostgreSQL 等,它們采用關系模型(二維表)來組織數據。
  • 非關系型數據庫管理系統(NoSQL):MongoDB(文檔型)、Redis(鍵值型)、Cassandra(列族型)等,適用于處理大規模、高并發的非結構化或半結構化數據。

DBMS 的主要功能包括:

  • 數據定義功能:提供數據定義語言(DDL),用于定義數據庫的結構,如創建表、修改表結構等。
  • 數據操縱功能:提供數據操縱語言(DML),用于對數據進行查詢、插入、刪除和修改等操作。
  • 數據庫的運行管理:負責數據庫的安全性、完整性、并發控制和恢復等,保證數據庫系統的正常運行。
  • 數據庫的建立和維護功能:包括數據庫的初始數據導入、轉儲、恢復、性能監控等。

三、數據庫系統(DBS)

數據庫系統是指在計算機系統中引入數據庫后的系統,一般由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員(DBA)和用戶構成

  • 數據庫管理員(DBA):負責數據庫的規劃、設計、維護、監控等工作,確保數據庫系統的正常運行和數據安全。
  • 應用系統:基于數據庫開發的各種應用軟件,如電商網站的后臺管理系統、銀行的交易系統等,通過 DBMS 與數據庫進行交互。

四、數據模型

數據模型是對現實世界數據特征的抽象,用于描述數據的結構、數據之間的關系以及對數據的操作等。它是數據庫系統的核心和基礎。

主要的數據模型有:

  1. 層次模型:采用樹形結構來組織數據,每個節點表示一個實體,節點之間的關系是一對多的。例如,一個公司的部門結構,總部下設多個分部,每個分部又下設多個科室,就可以用層次模型來表示。
  2. 網狀模型:采用網狀結構(多對多關系)來組織數據,允許一個節點有多個父節點。適用于表示復雜的多對多關系,如學生與課程的選課關系,一個學生可以選多門課程,一門課程也可以被多個學生選。
  3. 關系模型:用二維表(關系)來表示數據和數據之間的關系,表中的每行稱為一條記錄(元組),每列稱為一個屬性(字段)。關系模型具有結構簡單、操作方便等優點,是目前應用最廣泛的數據模型。例如,學生表(學號、姓名、年齡、性別)就是一個關系模型。
  4. 面向對象模型:將現實世界中的實體抽象為對象,每個對象包含屬性和方法,對象之間可以通過消息進行通信。它能更好地描述復雜的現實世界實體,適用于多媒體、工程設計等領域。

五、數據庫的特點

  • 數據結構化:數據庫中的數據是按照一定的數據模型進行組織和存儲的,具有整體的結構化,而不是零散的、無組織的。
  • 數據的共享性高,冗余度低:數據庫中的數據可以被多個用戶、多個應用程序共享使用,減少了數據的重復存儲,降低了數據冗余。
  • 數據獨立性高:包括物理獨立性和邏輯獨立性。物理獨立性是指用戶的應用程序與存儲在磁盤上的數據庫中的數據是相互獨立的;邏輯獨立性是指用戶的應用程序與數據庫的邏輯結構是相互獨立的。
  • 數據由 DBMS 統一管理和控制:DBMS 對數據的安全性、完整性、并發控制和恢復等進行統一管理,保證了數據的可靠性和一致性。

六、數據庫的應用領域

數據庫廣泛應用于各個行業和領域:

  • 金融領域:銀行、證券等機構用于存儲客戶信息、交易記錄等,支持各種金融業務的開展。
  • 電商領域:存儲商品信息、用戶訂單、物流信息等,為電商平臺的運營和管理提供數據支持。
  • 教育領域:管理學生信息、教師信息、教學資源等,輔助學校的教學和管理工作。
  • 醫療領域:存儲患者病歷、診斷記錄、藥品信息等,便于醫生查詢和分析患者病情,提高醫療服務質量。

總之,數據庫是信息時代數據管理的核心技術,它的發展和應用極大地提高了數據處理的效率和準確性,為各種信息系統的建設提供了堅實的基礎。

二.MySql

一、開源免費,降低中大型項目成本

MySQL 是開源數據庫(遵循 GPL 協議),企業無需支付高昂的商業授權費用(如 Oracle 的按核心收費模式)。對于中大型項目而言,數據量和并發量增長會伴隨服務器規模擴張,開源特性可顯著降低長期成本(包括 licensing 費用、定制化開發成本等)。
此外,開源意味著代碼透明,企業可根據自身需求修改源碼(如優化特定場景的存儲引擎邏輯),這對中大型系統的深度定制化需求至關重要。

二、跨平臺與兼容性,適配中大型系統復雜環境

中大型系統的部署環境往往復雜(可能涉及 Linux、Unix、Windows 等多操作系統,甚至混合云架構),而 MySQL 具備極強的跨平臺性:

  • 支持主流操作系統(Linux、Windows、macOS、Solaris 等);
  • 兼容多種硬件架構(x86、ARM 等),可適配中大型系統的服務器集群(物理機、虛擬機、容器化部署均可);
  • 與主流開發語言(Java、Python、PHP、Go 等)無縫集成,且支持 ODBC、JDBC 等標準接口,便于中大型項目的多語言協同開發。

三、高性能與穩定性,支撐中大型系統的高并發需求

MySQL 經過數十年迭代(尤其是 InnoDB 引擎成熟后),性能已能滿足中大型系統的核心需求:

  • 存儲引擎優化:默認的 InnoDB 引擎支持事務(ACID 特性)、行級鎖、聚簇索引,可高效處理高并發寫操作(如電商訂單提交、金融交易記錄);針對讀多寫少場景,也可選擇 MyISAM 引擎(雖不支持事務,但讀性能更優)。
  • 查詢優化:內置優化器可自動優化 SQL 執行計劃,支持索引(B + 樹、哈希索引等)、分區表(按范圍、列表等拆分大表),減少大表查詢的 IO 開銷。
  • 緩存機制:通過 InnoDB 緩沖池(Buffer Pool)緩存熱點數據,減少磁盤 IO;支持查詢緩存(雖在 8.0 版本移除,但可通過 Redis 等外部緩存補充),提升重復查詢效率。

實際案例中,優化后的 MySQL 集群可支撐每秒數萬次并發請求(如中小型電商平臺的峰值場景),且數據量可達千萬至億級(配合分庫分表可擴展至更大規模)。

四、可擴展性強,滿足中大型系統的規模增長

中大型系統的核心挑戰之一是 “數據量與并發量隨業務增長而擴張”,MySQL 通過多種機制支持橫向 / 縱向擴展:

  • 主從復制與讀寫分離:1 主多從架構中,主庫負責寫操作,從庫負責讀操作,可通過增加從庫數量擴展讀能力(如電商詳情頁查詢、報表統計等讀請求分流到從庫)。
  • 分庫分表:當單表數據量超千萬級時,可通過中間件(如 Sharding-JDBC、MyCat)實現分庫分表(按用戶 ID 哈希、時間范圍等規則拆分),將數據分散到多個物理庫表,避免單庫壓力過大。
  • 集群方案:支持 MySQL Cluster(基于 NDB 引擎的高可用集群)、MGR(MySQL Group Replication,組復制,支持自動故障轉移),提升系統可用性(避免單點故障)。

這些特性使 MySQL 能從 “中小型系統” 平滑過渡到 “中大型系統”,無需徹底更換數據庫(降低遷移成本)。

五、豐富的生態與工具鏈,提升中大型項目效率

中大型項目的開發、運維復雜度高,而 MySQL 的生態系統可顯著降低這些成本:

  • 開發工具:支持 Navicat、DBeaver 等可視化工具,便于 SQL 編寫、數據導入導出;與主流 IDE(如 IntelliJ IDEA、VS Code)集成,提升開發效率。
  • 監控與運維:提供 Percona Monitoring and Management(PMM)、MySQL Workbench 等工具,可監控數據庫性能(CPU、內存、IO 使用率)、慢查詢日志,便于中大型集群的問題排查。
  • 云服務支持:主流云廠商(AWS、阿里云、騰訊云等)均提供 MySQL 托管服務(如 RDS for MySQL),支持自動備份、擴容、故障轉移,減少中大型項目的運維人力投入。

六、社區支持與版本迭代,保障長期可用性

MySQL 擁有全球最大的開源數據庫社區之一,意味著:

  • 遇到問題時可快速獲取解決方案(如 Stack Overflow、官方文檔、社區論壇);
  • 版本迭代快(目前最新穩定版為 8.0+),持續優化性能(如 InnoDB 并行查詢、向量搜索支持)、安全性(如密碼強度增強、審計日志),適配中大型系統的新需求(如 AI 場景下的向量數據存儲)。

三.MYSQL的安裝配置(社區版免費)

1. 下載 MySQL 安裝包
  • 訪問 MySQL 官方下載頁:MySQL Community Server
  • 選擇對應版本(推薦 8.0 及以上),點擊 “Download”,選擇 “Windows (x86, 64-bit), ZIP Archive”(免安裝版,配置更靈活)。
2. 解壓與配置環境變量
  • 將下載的 ZIP 包解壓到自定義目錄(如D:\mysql-8.0.36-winx64)。
  • 配置環境變量:
    1. 右鍵 “此電腦”→“屬性”→“高級系統設置”→“環境變量”。
    2. 在 “系統變量” 中找到 “Path”,點擊 “編輯”→“新建”,添加 MySQL 的bin目錄路徑(如D:\mysql-8.0.36-winx64\bin)。
3. 初始化配置文件
  • 在 MySQL 根目錄(如D:\mysql-8.0.36-winx64)下新建my.ini配置文件,內容如下:
[mysqld]
# 設置端口號(默認3306)
port=3306
# 設置MySQL安裝目錄
basedir=D:\mysql-8.0.36-winx64
# 設置數據存儲目錄(需手動創建data文件夾)
datadir=D:\mysql-8.0.36-winx64\data
# 允許最大連接數
max_connections=200
# 服務端字符集(推薦utf8mb4,支持emoji)
character-set-server=utf8mb4
# 默認存儲引擎
default-storage-engine=INNODB
[mysql]
# 客戶端字符集
default-character-set=utf8mb4
4. 初始化與安裝服務
  • 管理員身份打開命令提示符(CMD):
    1. 進入 MySQL 的bin目錄:cd D:\mysql-8.0.36-winx64\bin
    2. 初始化數據庫(生成臨時密碼,需記錄):
      mysqld --initialize --console
      (注意:臨時密碼在輸出日志中,格式如root@localhost: 臨時密碼
    3. 安裝 MySQL 服務:mysqld --install MySQL80(“MySQL80” 為服務名,可自定義)
    4. 啟動服務:net start MySQL80
5. 登錄與修改密碼
  • 登錄 MySQL:mysql -u root -p,輸入初始化時的臨時密碼。
  • 修改密碼(替換新密碼為自定義密碼):
    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
  • 退出登錄:exit

二、Linux 系統(CentOS 7/8)安裝配置 MySQL

1. 卸載舊版本(如有)
# 檢查是否安裝過MySQL
rpm -qa | grep mysql
# 卸載(替換包名)
rpm -e --nodeps 包名
# 刪除殘留文件
rm -rf /var/lib/mysql
2. 安裝 MySQL
  • 方式 1:通過 YUM 源安裝(推薦):

# 下載MySQL YUM源(以8.0為例)
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
# 安裝源
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
# 安裝MySQL服務
yum install -y mysql-community-server

方式 2:編譯安裝(適合需要定制化的場景,略復雜,此處不展開)

3. 啟動服務與設置開機自啟
# 啟動服務
systemctl start mysqld
# 查看狀態(確認是否啟動成功)
systemctl status mysqld
# 設置開機自啟
systemctl enable mysqld
4. 獲取臨時密碼與修改密碼
  • 查看臨時密碼:grep 'temporary password' /var/log/mysqld.log
  • 登錄并修改密碼:
# 登錄
mysql -u root -p
# 修改密碼(需包含大小寫字母、數字、特殊字符)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass@123';
5. 配置遠程訪問(可選)
  • 允許 root 用戶遠程登錄(生產環境建議創建專用用戶):
# 切換到mysql庫
use mysql;
# 修改root用戶的主機限制('%'表示允許所有IP)
update user set host='%' where user='root';
# 刷新權限
flush privileges;

開放防火墻 3306 端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

三、macOS 系統安裝配置 MySQL

1. 下載與安裝
  • 方式 1:通過官方 DMG 包安裝:

    • 下載地址:MySQL for macOS
    • 選擇 “macOS 13 (ARM, 64-bit), DMG Archive”(根據系統芯片選擇),雙擊安裝,按提示完成步驟(注意記錄臨時密碼)。
  • 方式 2:通過 Homebrew 安裝(更便捷):

# 安裝Homebrew(如未安裝)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安裝MySQL
brew install mysql
2. 啟動服務
  • DMG 安裝:通過 “系統偏好設置”→“MySQL” 啟動服務。
  • Homebrew 安裝:brew services start mysql
3. 初始化與修改密碼
  • 登錄(Homebrew 安裝默認無密碼,直接回車):mysql -u root -p
  • 設置密碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';

四、通用配置優化(適合中大型系統)

my.ini(Windows)或my.cnf(Linux/macOS)中添加以下配置,提升性能:

[mysqld]
# 緩存設置(根據服務器內存調整,如8GB內存可設4G)
innodb_buffer_pool_size=4G
# 并發連接數(根據業務需求調整)
max_connections=1000
# 慢查詢日志(記錄執行時間>1秒的SQL,便于優化)
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow.log
long_query_time=1
# 關閉DNS反向解析(加速連接)
skip-name-resolve

五、驗證安裝成功

  • 登錄 MySQL:mysql -u root -p,輸入密碼后若能進入 MySQL 命令行(顯示mysql>),則安裝成功。
  • 查看版本:select version();

通過以上步驟,可完成 MySQL 在不同系統的基礎安裝與配置。對于中大型系統,建議額外配置主從復制、定期備份(如mysqldump)和監控工具(如 PMM),確保數據安全與性能穩定。

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

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

相關文章

Java 中表示數據集的常用集合類

Java 中表示數據集的常用集合類 Java 集合框架提供了多種數據結構來表示和操作數據集,每種集合類都有其特定的用途和性能特征。以下是主要的集合類及其特點: 一、List 接口及其實現類 1. ArrayList 特點:基于動態數組實現優點:隨機…

Django REST框架核心:GenericAPIView詳解

Django REST framework (DRF) 中 GenericAPIView 的源碼核心部分。 它是所有“泛型視圖”的基礎類,比如常用的 ListAPIView、RetrieveAPIView、CreateAPIView 都是繼承自它。🌟 作用繼承自 APIView,因此仍然是一個標準的 DRF 視圖。提供了常用…

深入解析HashMap的存儲機制:擾動函數、哈希計算與索引定位

今天復習了一下HashMap的部分,寫一篇博客記錄一下今天學習內容雖然之前學習過,但由于后來沒怎么使用過而且也沒復習基本忘得差不多了在Java的HashMap中,高效存儲鍵值對的核心在于哈希算法和索引定位。本文將結合源碼逐步拆解存儲流程&#xf…

【機器學習 / 深度學習】基礎教程

階段一:機器學習 / 深度學習基礎教程定位:針對準備進入 AI多智能體開發 的初學者,打牢機器學習與深度學習的基礎。一、為什么需要學習機器學習/深度學習 在進入智能體(Agent)開發之前,必須具備一定的 機器學…

ESP32應用——HTTP client(ESP-IDF框架)

目錄 一、前言 二、URL 2.1 URL簡介 2.2 URL示例 三、HTTP 3.1 HTTP協議概述 3.2 HTTP的工作原理 3.2.1 HTTP 請求-響應流程 3.2.2 HTTP 請求結構 3.2.3 HTTP請求方法 3.2.4 HTTP響應結構 3.2.5 HTTP狀態碼 四、ESP HTTP 客戶端流程 五、ESP HTTP 客戶端實戰解析…

動學學深度學習07-現代卷積神經網絡

動學學深度學習pytorch 參考地址:https://zh.d2l.ai/ 文章目錄動學學深度學習pytorch1-第07章-現代卷積神經網絡1. AlexNet1.1 AlexNet 的核心貢獻是什么?1.2 AlexNet 與 LeNet 的主要區別有哪些?1.3 為什么 AlexNet 需要 GPU 訓練&#xff1…

詳細講解Java中的反射和經典面試題(保姆級別)

1.1 反射的概述:專業的解釋(了解一下):是在運行狀態中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意屬性和方法;這種動態獲取…

MyCAT完整實驗報告

MyCAT完整實驗報告 ? 前言 剛剛看了一下前面的那篇MyCAT的文章 感覺有一些問題 所以拿出一篇文章再說一下 單獨構建了完整的實驗環境 這樣會全面一點 ? 安裝MyCAT #跳過? 主從配置 #不多追溯 因為我們選擇的主從 也可以做雙主機 但我們后邊再說? 環境搭建 一、環境規劃 服務…

機器翻譯論文閱讀方法:頂會(ACL、EMNLP)論文解析技巧

更多內容請見: 機器翻譯修煉-專欄介紹和目錄 文章目錄 一、論文選擇:快速判斷論文價值 1.1 關注核心會議與子領域 1.2 篩選標準 1.3 預讀篩選 1.4 快速定位關鍵信息 二、精讀解析 2.1 問題定義(5分鐘) 2.2 方法解剖(15分鐘) 2.3 實驗深挖(20分鐘) 2.4 批判性思考(10分…

Transformer模型實戰篇

引入 基于Transformers的NLP解決方案的步驟如下:(以文本分類為例) 導入相關包,General,可以詢問ai需要導什么包加載數據集,Data_loader,Datasets數據集劃分,測試機,驗證集…

深入(流批【牛批】框架)Flink的機制

flink本身是專注有狀態的無限流處理,有限流處理【batch批次】是無限流處理的一中特殊情況!應用場景實時ETL 集成流計算現有的諸多數據通道和SQL靈活的加工能力,對流式數據進行實時清洗、歸并和結構化 處理;同時,對離線…

Git 2.15.0 64位安裝步驟Windows詳細教程從下載到驗證(附安裝包下載)

一、下載后雙擊運行 安裝包下載:https://pan.quark.cn/s/7200b32a1ecf,找到下載好的文件:?Git-2.15.0-64-bit.exe?雙擊這個文件,就會彈出安裝向導窗口,點 ??“Next”(下一步)?? 二、選擇…

在職老D滲透日記day23:sqli-labs靶場通關(第29關-31關)http參數過濾

5.29.第29關 http參數過濾 閉合5.29.1.手動注入(1)判斷注入類型、注入點閉合(2)有回顯,優先用聯合查詢注入,判讀字段數?id1&id2 order by 3 -- ?id1&id2 order by 4 --(3)…

Spring Boot整合Amazon SNS實戰:郵件訂閱通知系統開發

Spring Boot整合Amazon SNS實戰引言配置服務總結新用戶可獲得高達 200 美元的服務抵扣金 亞馬遜云科技新用戶可以免費使用亞馬遜云科技免費套餐(Amazon Free Tier)。注冊即可獲得 100 美元的服務抵扣金,在探索關鍵亞馬遜云科技服務時可以再額…

LeetCode_動態規劃1

動態規劃1.動態規劃總結1.1 01背1.1.1 二維數組1.1.2 一維數組1.2 完全背包2.斐波那契數(力扣509)3.爬樓梯(力扣70)4.使用最小花費爬樓梯(力扣746)5.不同路徑(力扣62)6.不同路徑 II(力扣63)7.整數拆分(力扣343)8.不同的二叉搜索樹(力扣96)9.分割等和子集(力扣416)10.最后一塊石…

【STM32】HAL庫中的實現(九):SPI(串行外設接口)

SPI 接口通信原理 SPI(Serial Peripheral Interface)是全雙工主從通信協議,特點是: 信號線功能SCK串行時鐘MOSI主設備輸出,從設備輸入MISO主設備輸入,從設備輸出CS(NSS)片選信號&am…

Git常用操作大全(附git操作命令)

Git常用操作大全 一、基礎配置 1.1 設置用戶名和郵箱 git config --global user.name "你的名字" git config --global user.email "你的郵箱"1.2 查看配置 git config --list二、倉庫管理 2.1 初始化本地倉庫 git init2.2 克隆遠程倉庫 git clone <倉庫…

詳解flink table api基礎(三)

文章目錄1.使用flink的原因&#xff1a;2. Flink支持兩種模式&#xff1a;3. flink table api工作原理&#xff1a;4. Flink table api 使用5. select語句&flink table api&#xff1a;6. 使用flink table api 創建table7. 使用flink table api 寫流式數據輸出到表或sink8.…

Vue2+Vue3前端開發_Day5

參考課程: 【黑馬程序員 Vue2Vue3基礎入門到實戰項目】 [https://www.bilibili.com/video/BV1HV4y1a7n4] ZZHow(ZZHow1024) 自定義指令 基本語法&#xff08;全局 & 局部注冊&#xff09; 介紹&#xff1a;自己定義的指令&#xff0c;可以封裝一些 DOM 操作&#xff0c…

機器學習--決策樹2

目錄 第一代裁判&#xff1a;ID3 與信息增益的 “偏愛” 第二代裁判&#xff1a;C4.5 用 “增益率” 找平衡 第三代裁判&#xff1a;CART 的 “基尼指數” 新思路 遇到連續值&#xff1f;先 “砍幾刀” 再說 給決策樹 “減肥”&#xff1a;剪枝的學問 動手試試&#xff1…