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

Ubuntu 安裝 MySQL 並開放遠程訪問完整教程:apt 安裝、密碼設置、用戶授權、bind-address 配置、防火牆

     編輯:MySQL 綜合教學

Ubuntu 安裝 MySQL 並開放遠程訪問完整教程:apt 安裝、密碼設置、用戶授權、bind-address 配置、防火牆

針對 Ubuntu 16.04/18.04/20.04 通用流程,從 apt 安裝到遠程連通,含 root 遠程授權與安全收口建議。

1. 安裝服務端與客戶端

apt-get update
apt-get install -y mysql-server mysql-client libmysqlclient-dev

安裝過程會交互提示設置 root 密碼(若未提示,後續手動設置)。

2. 登錄並重置 root 密碼(若未設置或忘記)

mysql -u root -p
# 進入後
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';  -- 5.7+
# 或
UPDATE mysql.user SET authentication_string=PASSWORD('NewPass123!') WHERE User='root';
FLUSH PRIVILEGES;

3. 創建業務庫與專用用戶

CREATE DATABASE proxy;
GRANT ALL PRIVILEGES ON proxy.* TO 'test'@'localhost' IDENTIFIED BY 'testpwd';
GRANT ALL PRIVILEGES ON proxy.* TO 'test'@'%' IDENTIFIED BY 'testpwd';  -- 允許任意主機
FLUSH PRIVILEGES;

4. 修改綁定地址開放遠程聽聽

vim /etc/mysql/mysql.conf.d/mysqld.cnf  # 或 /etc/mysql/my.cnf
# 找到 bind-address = 127.0.0.1
# 改為
bind-address = 0.0.0.0
# 保存退出

5. 重啟服務生效

systemctl restart mysql

6. 防火牆放行 3306 端口

ufw allow 3306/tcp
ufw reload
# 或 iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

7. 遠程連接驗證

使用 MySQL-Front、Navicat、DBeaver 等客戶端,填寫服務器 IP、端口 3306、用戶 test、密碼 testpwd 連接測試。

8. root 遠程登錄控制(二選一)

方案 A:授權法(推薦)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'RootPass123!' WITH GRANT OPTION;
FLUSH PRIVILEGES;

方案 B:改表法

USE mysql;
UPDATE user SET Host='%' WHERE User='root';
FLUSH PRIVILEGES;

安全收口(禁止 root 遠程):

DELETE FROM mysql.user WHERE User='root' AND Host='%';
FLUSH PRIVILEGES;

最佳實踐總結

  • 生產環境禁用 root 遠程,業務用專用帳戶 + 最小權限 + 具體 IP 白名單。
  • 配置文件加 skip-name-resolve 禁用 DNS 反解,提升連接速度並避免主機名匹配問題。
  • 定期輪換密碼,審計 mysql.user 表。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved