MySQL安裝實戰指南:Mac、Windows與Docker全平臺詳解

MySQL作為世界上最流行的開源關系型數據庫,是每位開發者必須掌握的基礎技能。本指南將手把手帶你完成三大平臺的MySQL安裝,從下載到配置,每個步驟都配有詳細說明和截圖,特別適合新手學習。

一、Mac系統安裝MySQL

1.1 通過Homebrew安裝(推薦)

步驟1:安裝Homebrew(如未安裝)
打開終端(Terminal)執行:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

步驟2:使用brew安裝MySQL

brew install mysql

安裝完成后會看到類似輸出:

==> Pouring mysql-8.0.26.arm64_big_sur.bottle.tar.gz
==> Caveats
We've installed your MySQL database without a root password...

步驟3:啟動MySQL服務

brew services start mysql

驗證服務狀態:

brew services list

正常應顯示:

mysql started yourusername /Library/LaunchDaemons/homebrew.mxcl.mysql.plist

步驟4:安全初始化(設置密碼)

mysql_secure_installation

按照提示:

  1. 輸入臨時密碼(安裝時終端顯示的密碼)

  2. 設置新密碼(建議8位以上包含大小寫字母和數字)

  3. 移除匿名用戶?輸入Y

  4. 禁止root遠程登錄?根據需求選擇

  5. 移除test數據庫?建議Y

  6. 立即重載權限表?Y

1.2 圖形化安裝(適合純新手)

步驟1:官網下載DMG包
訪問MySQL官網選擇:

  • macOS (x86, 64-bit), DMG Archive

  • 或Apple Silicon版本(M1/M2芯片)

步驟2:安裝過程

  1. 雙擊下載的.dmg文件

  2. 拖動MySQL圖標到Applications文件夾

  3. 打開系統偏好設置,底部會出現MySQL圖標

  4. 點擊"Initialize Database"初始化數據庫

  5. 選擇"Use Legacy Password Encryption"(兼容性好)

  6. 設置root密碼(務必記住!)

步驟3:配置PATH環境變量
在終端執行:

echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

二、Windows系統安裝MySQL

2.1 使用MySQL Installer(推薦)

步驟1:下載安裝包
官網下載Windows MSI Installer:

  • 選擇"MySQL Installer for Windows"

  • 下載體積較大的完整版(約400MB)

步驟2:安裝向導

  1. 雙擊.msi文件運行

  2. 選擇安裝類型:"Developer Default"(開發默認)

  3. 點擊"Execute"安裝依賴(可能需要等待)

  4. 產品配置界面:

    • 設置root密碼(建議勾選"Add firewall exception")

    • 選擇"Standalone MySQL Server"

    • 端口保持默認3306

  5. 勾選"Start the MySQL Server at System Startup"

  6. 最后點擊"Execute"完成安裝

步驟3:驗證安裝

  1. 打開命令提示符(cmd)

  2. 輸入:

mysql -u root -p
  1. 輸入設置的密碼,看到mysql>提示符即成功

2.2 常見問題解決

問題1:服務無法啟動

  • 檢查3306端口是否被占用:

netstat -ano | findstr 3306
  • 如果被占用,可以在my.ini中修改端口:

[mysqld]
port=3307

問題2:忘記root密碼

  1. 停止MySQL服務:

net stop mysql

?????2. 創建初始化文件reset.txt,內容:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密碼';

?????3.啟動MySQL跳過權限檢查:

mysqld --init-file=C:\\reset.txt --console --skip-grant-tables

三、Docker方式安裝MySQL

3.1 快速啟動MySQL容器

步驟1:安裝Docker

  • Mac: 下載Docker Desktop for Mac

  • Windows: 下載Docker Desktop for Windows

步驟2:拉取MySQL鏡像

docker pull mysql:8.0

推薦指定版本號而非使用latest標簽

步驟3:啟動容器

docker run --name mysql_dev \-e MYSQL_ROOT_PASSWORD=yourpassword \-p 3306:3306 \-v ~/mysql_data:/var/lib/mysql \-d mysql:8.0 \--character-set-server=utf8mb4 \--collation-server=utf8mb4_unicode_ci

參數說明:

  • -v:掛載數據卷避免數據丟失

  • 最后兩個參數設置UTF8MB4編碼(支持emoji)

3.2 常用Docker命令

查看運行中的容器:

docker ps

查看MySQL日志:

docker logs -f mysql_dev

進入容器bash:

docker exec -it mysql_dev bash

停止/啟動容器:

docker stop mysql_dev
docker start mysql_dev

3.3 連接MySQL容器

????????宿主機連接:

mysql -h 127.0.0.1 -P 3306 -u root -p
  1. 其他容器連接(同一Docker網絡):

mysql -h mysql_dev -u root -p

四、安裝后基礎配置

4.1 創建新用戶(避免使用root)

CREATE USER 'devuser'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'devuser'@'%';
FLUSH PRIVILEGES;

4.2 基礎安全設置

修改默認端口(編輯my.cnf/my.ini):

[mysqld]
port=3307
  1. 開啟查詢日志(調試用):

general_log = 1
general_log_file = /var/log/mysql/query.log

4.3 性能優化配置(8GB內存機器示例)

[mysqld]
innodb_buffer_pool_size = 4G
innodb_log_file_size = 256M
max_connections = 200
thread_cache_size = 10
table_open_cache = 4000

五、可視化工具推薦

  1. MySQL Workbench(官方工具)

    • 適合執行復雜查詢和ER圖設計

    • 下載地址:https://dev.mysql.com/downloads/workbench/

  2. DBeaver(跨平臺)

    • 支持多種數據庫的統一管理

    • 社區版免費:DBeaver Community | Free Universal Database Tool

  3. TablePlus(Mac/Win付費)

    • 界面美觀,響應速度快

    • 官網:TablePlus | Modern, Native Tool for Database Management

常見問題FAQ

Q1:Mac安裝后mysql命令找不到?
A:執行以下命令創建符號鏈接:

sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

Q2:Windows下如何徹底卸載MySQL?

  1. 控制面板卸載程序

  2. 刪除C:\Program Files\MySQL和C:\ProgramData\MySQL

  3. 清理注冊表(謹慎操作)

Q3:Docker容器啟動失敗怎么辦?
檢查日志定位問題:

docker logs mysql_dev

常見原因是:

  • 端口沖突(修改-p參數)

  • 掛載目錄權限問題(chmod -R 777 ~/mysql_data)

Q4:如何升級MySQL版本?

  • Mac:?brew upgrade mysql

  • Windows: 使用MySQL Installer的升級功能

  • Docker: 拉取新鏡像后重新創建容器

結語

無論選擇哪種安裝方式,都建議:

  1. 安裝完成后立即修改root密碼

  2. 創建專用開發用戶而非直接使用root

  3. 定期備份重要數據(特別是Docker方式)

MySQL的學習曲線可能會有些陡峭,但掌握安裝和基礎配置是重要的第一步。接下來可以嘗試:

  • 創建你的第一個數據庫

  • 學習基本的SQL查詢語句

  • 探索索引優化等高級特性

如果有任何安裝問題,建議查看MySQL官方文檔或社區論壇,那里有豐富的解決方案。Happy coding!

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

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

相關文章

多模態大語言模型arxiv論文略讀(七十九)

AIM: Let Any Multi-modal Large Language Models Embrace Efficient In-Context Learning ?? 論文標題:AIM: Let Any Multi-modal Large Language Models Embrace Efficient In-Context Learning ?? 論文作者:Jun Gao, Qian Qiao, Ziqiang Cao, Zi…

[Harmony]封裝一個可視化的數據持久化工具

1.添加權限 在module.json5文件中添加權限 // 聲明應用需要請求的權限列表 "requestPermissions": [{"name": "ohos.permission.DISTRIBUTED_DATASYNC", // 權限名稱:分布式數據同步權限"reason": "$string:distrib…

利用html制作簡歷網頁和求職信息網頁

前言 大家好,我是maybe。今天下午初步學習了html的基礎知識。做了兩個小網頁,一個網頁是簡歷網頁,一個網頁是求職信息填寫網頁。跟大家分享一波~ 說明:我不打算上傳圖片。所以如果有朋友按照我的代碼運行網頁,會出現一個沒有圖片…

Vue 3 實現后端 Excel 文件流導出功能(Blob 下載詳解)

💡 本文以告警信息導出為例,介紹 Vue 3 中如何通過 Axios 調用后端接口并處理文件流,實現 Excel 自動下載功能。 📑 目錄 一、前言 二、后端接口說明 三、前端實現思路 四、導出功能完整代碼 五、常見問題處理 六、效果展示 …

HarmonyOS AVPlayer 音頻播放器

鴻蒙文檔中心:使用AVPlayer播放視頻(ArkTS)文檔中心https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/video-playback 這張圖描述的是 HarmonyOS AVPlayer 音頻播放器的狀態流轉過程,展示了 AVPlayer 在不同狀態之間的切換條件和關鍵操作…

Java面試場景:從音視頻到AI應用的技術探討

面試場景:音視頻與AI應用技術的碰撞 在某互聯網大廠的面試中,面試官王先生與求職者明哥展開了一場關于音視頻技術與AI應用的對話。 第一輪提問:音視頻場景 面試官:明哥,你能談談在音視頻場景中,Spring B…

【深度學習】殘差網絡(ResNet)

如果按照李沐老師書上來,學完 VGG 后還有 NiN 和 GoogLeNet 要學,但是這兩個我之前聽都沒聽過,而且我看到我導師有發過 ResNet 相關的論文,就想跳過它們直接看后面的內容。 現在看來這不算是不踏實,因為李沐老師說如果…

Vue3學習(組合式API——父、子組件間通信詳解)

目錄 一、組合式API下的父組件傳子組件。(自定義屬性) (1)基本思想。 (2)核心注意點。(defineProps) (3)傳遞簡單類型數據。 (4)傳遞對象類型數據。(v-bind"對象類型數據"…

W5500使用ioLibrary庫創建TCP客戶端

1、WIZnet全硬件TCP/IP協議棧 WIZnet全硬件TCP/IP協議棧,支持TCP,UDP,IPv4,ICMP,ARP,IGMP以及PPPoE協議。 以太網:支持BSD和WIZCHIP(W5500/W5300/W5200/W5100/W5100S)的SOCKET APIs驅動程序。 互聯網: DHCP客戶端 DNS客戶端 FTP客…

管理Oracle Data Guard的最佳實踐

Oracle Data Guard的中文名字叫數據衛士,顧名思義,它是生產庫的一道保障。所以管理Data Guard是DBA的一項重要工作之一,管理Data Guard時主要有以下幾個注意點需要引起重視。 備份庫的歸檔日志積壓 一般情況下,生產庫的歸檔日志是…

BootCDN介紹(Bootstrap主導的前端開源項目免費CDN加速服務)

文章目錄 BootCDN前端開源項目CDN加速服務全解析什么是BootCDN技術原理與架構CDN技術基礎BootCDN架構特點1. 全球分布式節點網絡2. 智能DNS解析系統3. 高效緩存管理機制4. 自動同步更新機制5. HTTPS和HTTP/2協議支持 BootCDN的核心優勢速度與穩定性開源免費資源豐富度技術規范遵…

2025 Java 微信小程序根據code獲取openid,二次code獲取手機號【工具類】拿來就用

一、controller調用 /*** 登錄** author jiaketao* since 2024-04-10*/ RestController RequestMapping("/login") public class LoginController {/*** 【小程序】登錄獲取session_key和openid** param code 前端傳code* return*/GetMapping("/getWXSessionKe…

軟件架構風格系列(3):管道 - 過濾器架構

文章目錄 前言一、從生活場景到架構原理,看懂管道 - 過濾器的核心邏輯(一)什么是管道 - 過濾器架構?(二)核心組件拆解 二、架構設計圖:一圖看懂管道 - 過濾器架構全貌三、Java 示例代碼&#xf…

【VIM】vim 常用命令

文章目錄 插入模式光標移動拷貝/粘貼/刪除/撤銷塊操作分屏代碼縮進命令組合使用其他PowerVim 前言:本文內容大部分摘抄自酷殼和博客園 ? – ? CoolShell – 陳皓 ? 博客園 – 易先訊 插入模式 a → 在光標后插入o → 在當前行后插入一個新行O → 在當前行前插…

polarctf-web-[簡單rce]

考點&#xff1a; (1)RCE(eval函數) (2)執行函數(passthru函數) (3)/頂級(根)目錄查看 (4)sort排序查看函數 題目來源&#xff1a;Polarctf-web-[簡單rce] 解題&#xff1a; 代碼審計 <?php/*?PolarD&N CTF?*/highlight_file(__FILE__);function no($txt){ # …

HarmonyOs開發之———使用HTTP訪問網絡資源

謝謝關注&#xff01;&#xff01; 前言&#xff1a;上一篇文章主要介紹HarmonyOs開發之———Video組件的使用:HarmonyOs開發之———Video組件的使用_華為 video標簽查看-CSDN博客 HarmonyOS 網絡開發入門&#xff1a;使用 HTTP 訪問網絡資源 HarmonyOS 作為新一代智能終端…

Vue 圖片預覽功能(含縮略圖)

眾所周知&#xff0c;常見的組件庫如Element、Ant Design&#xff0c;自帶的圖片預覽功能都沒有縮略圖&#xff0c;所以 需要單獨封裝一個圖片預覽的服務。 第三方庫&#xff1a;v-viewer 安裝&#xff1a; npm install v-viewer viewerjs 若使用報錯&#xff0c;可安裝指定…

手寫tomcat:基本功能實現(4)

邏輯架構 HTTP 請求與 Socket&#xff1a; 左側的 “HTTP 請求” 箭頭指向 “socket”&#xff0c;表示客戶端發送的 HTTP 請求通過 socket 傳輸到服務器。Socket 負責接收請求&#xff0c;并提取出其中的 請求路徑&#xff08;如 /first&#xff09;和 請求方法&#xff08;如…

jvm安全點(一)openjdk17 c++源碼垃圾回收安全點信號函數處理線程阻塞

1. 信號處理入口?? ??JVM_HANDLE_XXX_SIGNAL?? 是 JVM 處理信號的統一入口&#xff0c;負責處理 SIGSEGV、SIGBUS 等信號。??javaSignalHandler?? 是實際注冊到操作系統的信號處理函數&#xff0c;直接調用 JVM_HANDLE_XXX_SIGNAL。 ??2. 安全點輪詢頁的識別?? …

微信小程序:封裝表格組件并引用

一、效果 封裝表格組件,在父頁面中展示表格組件并顯示數據 二、表格組件 1、創建頁面 創建一個components文件夾,專門用于存儲組件的文件夾 創建Table表格組件 2、視圖層 (1)表頭數據 這里會從父組件中傳遞表頭數據,這里為columns,后續會講解數據由來 循環表頭數組,…