Linux (以 Ubuntu 為例) 下通過包管理器安裝 MySQL 是最標準、可維護的方式。本文覆蓋安裝驗證、基礎管理命令、遠程訪問配置、目錄結構解析、圖形化工具對比,助你從零建立生產級 MySQL 環境。
sudo netstat -tap | grep mysql
# 無輸出 = 未安裝/未運行

sudo apt-get update
sudo apt-get install mysql-server mysql-client
# 過程中會提示設置 root 密碼(兩次確認)


# 1. 進程/端口檢查
sudo netstat -tap | grep mysql
# 應看到 mysqld 監聽 3306
# 2. 客戶端登錄測試
mysql -u root -p
# 輸入密碼進入 mysql> 提示符

| 操作 | 命令 (SysVinit) | 命令 (systemd Ubuntu 16.04+) |
|---|---|---|
| 啟動 | sudo systemctl start mysql | |
| 停止 | sudo systemctl stop mysql | |
| 重啟 | sudo systemctl restart mysql | |
| 狀態 | sudo systemctl status mysql | |
| 修改 root 密碼 | 同左 |
默認 bind-address = 127.0.0.1 僅允許本地連接。
sudo vim /etc/mysql/my.cnf
# 找到 [mysqld] 區塊
bind-address = 0.0.0.0 # 或具體內網 IP,註釋掉原 127.0.0.1 行
sudo systemctl restart mysql
同步創建遠程用戶:
mysql -u root -p -e "CREATE USER 'appuser'@'%' IDENTIFIED BY 'StrongPass123'; GRANT ALL ON appdb.* TO 'appuser'@'%'; FLUSH PRIVILEGES;"
雲服務器還需開放安全組/防火牆 3306 端口。
| 內容 | 路徑 | 說明 |
|---|---|---|
| 數據目錄 | /var/lib/mysql/ | ibdata1、.ibd、.frm、binlog、relaylog |
| 配置文件 | /etc/mysql/my.cnf | 主配置,包含 conf.d/ 目錄 |
| 二進制/腳本 | /usr/bin/ | mysql, mysqldump, mysqladmin, mysqlcheck... |
| 啟動腳本 | /etc/init.d/mysql (舊) /lib/systemd/system/mysql.service (新) | 服務管理入口 |
| 共享文件 | /usr/share/mysql/ | 字符集、錯誤信息、SQL 模板 |
| 日誌 | /var/log/mysql/ | error.log、slow.log (需配置開啟) |
| 工具 | 類型 | 平台 | 核心特性 | 推薦指數 |
|---|---|---|---|---|
| MySQL Workbench | 官方、開源、免費 | Win/Mac/Linux | 建模、SQL開發、管理、遷移、性能儀表板一體化 | ⭐⭐⭐⭐⭐ 首選 |
| Navicat for MySQL | 商業、收費 | Win/Mac/Linux | 界面友好、數據同步、結構同步、導入導出向導強大 | ⭐⭐⭐⭐ 團隊有預算首選 |
| DBeaver | 開源、免費、通用 | Win/Mac/Linux | 支持 80+ 數據庫、ER圖、腳本管理、SSH隧道內建 | ⭐⭐⭐⭐ 多數據庫開發首選 |
| phpMyAdmin | Web 端、PHP | 瀏覽器 | 無客戶端安裝、適合虛擬主機/無桌面環境 | ⭐⭐⭐ 輕量操作 |
Linux 下 MySQL 部署鐵律:APT 安裝、systemd 管理、bind-address 0.0.0.0、強密碼+最小權限用戶、Workbench/DBeaver 日常運維、定期 mysqldump 異地備份。將上述步驟封裝為 Ansible/Shell 腳本,實現基礎設施即代碼。