首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Ubuntu 下 MySQL 服務配置全流程:安裝、綁定地址、遠程授權、驗證

     編輯:MySQL 綜合教學

步驟一:安裝 MySQL


sudo apt-get update
sudo apt-get install mysql-server
# 安裝過程可能提示設置 root 密碼 (新版本多無提示,需後續初始化)

步驟二:配置網絡綁定 (允許遠程訪問)


sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf  # Ubuntu 16.04+ 標準路徑
# 或舊版本
sudo vim /etc/mysql/my.cnf

# 找到 [mysqld] 區塊下的 bind-address
# 方案 A:註釋掉 (允許所有介面)
# bind-address = 127.0.0.1

# 方案 B:改為 0.0.0.0 (明確監聽所有介面,推薦)
bind-address = 0.0.0.0

# 重啟服務生效
sudo systemctl restart mysql
# 或舊版
sudo /etc/init.d/mysql restart

步驟三:授權遠程訪問用戶


# 登錄本地 root
mysql -u root -p

-- 創建專用應用用戶 (推薦,最小權限)
CREATE USER 'app_user'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'%';
FLUSH PRIVILEGES;

-- 或允許 root 遠程 (極不推薦生產)
-- ALTER USER 'root'@'%' IDENTIFIED BY 'StrongPassword123!';  -- 8.0+
-- GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
-- FLUSH PRIVILEGES;

授權命令詳解

  • *.*:第一個 * 代表所有數據庫,第二個 * 代表所有表
  • 'user'@'%':% 通配符,表示任意主機/IP。生產建議限制:'user'@'192.168.1.%' 或 'user'@'10.0.0.5'
  • IDENTIFIED BY 'password':設置密碼 (8.0+ CREATE USER 時指定,GRANT 不再支持 IDENTIFIED BY)
  • WITH GRANT OPTION:允許該用戶將權限授予他人 (慎用)
  • FLUSH PRIVILEGES:刷新權限緩存,使修改立即生效

步驟四:防火牆放行 (關鍵!)


# UFW (Ubuntu 默認)
sudo ufw allow 3306/tcp
# 或僅允許特定應用服務器 IP 段
sudo ufw allow from 192.168.1.0/24 to any port 3306

# iptables (底層)
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

步驟五:驗證遠程連接


# 客戶端機器
mysql -h  -u app_user -p
# 輸入密碼,成功進入交互模式即配置通過

# 或使用 GUI 工具
# Navicat / DBeaver / DataGrip / MySQL Workbench
# Host: , Port: 3306, User: app_user, Password: ******

安全加固清單 (生產環境必做)


sudo mysql_secure_installation
# 依次操作:
# 1. 設置驗證密碼插件 (建議 Y,強制密碼複雜度)
# 2. 修改 root 密碼 (若未設置或過簡單)
# 3. 移除匿名用戶 (Y)
# 4. 禁止 root 遠程登錄 (Y) -- 關鍵!
# 5. 移除 test 數據庫 (Y)
# 6. 重新加載權限表 (Y)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved