温馨提示×

怎么连接Debian MySQL

小樊
40
2026-08-26 04:33:14
栏目: 云计算

连接 Debian 上的 MySQL,分本机连接远程连接两种情况。下面按常见场景一步步来。


一、本地连接 MySQL(最常见)

1️⃣ 安装 MySQL(如未安装)

sudo apt update
sudo apt install mysql-server

安装完成后,MySQL 一般会自动启动。


2️⃣ 登录 MySQL

sudo mysql -u root -p
  • -u root:使用 root 用户
  • -p:提示输入密码

如果没设置 root 密码,有时可以直接:

sudo mysql

3️⃣ 查看 MySQL 是否在运行

sudo systemctl status mysql

启动 / 停止 / 重启:

sudo systemctl start mysql
sudo systemctl stop mysql
sudo systemctl restart mysql

二、远程连接 MySQL(从其他机器连接)

1️⃣ 修改 MySQL 配置文件

编辑配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到这一行:

bind-address = 127.0.0.1

改为:

bind-address = 0.0.0.0

然后重启 MySQL:

sudo systemctl restart mysql

2️⃣ 创建允许远程连接的用户

进入 MySQL:

sudo mysql -u root -p

创建用户并授权(示例):

CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

说明:

  • % 表示允许任意 IP 连接(可改为具体 IP,如 '192.168.1.%'

3️⃣ 开放 Debian 防火墙端口(如启用 UFW)

sudo ufw allow 3306/tcp
sudo ufw reload

4️⃣ 从客户端连接

mysql -h 服务器IP -u remoteuser -p

三、常见问题排查

❌ 连接被拒绝

  • MySQL 没启动
  • bind-address 没改
  • 用户没有远程权限
  • 防火墙拦截

❌ “Access denied for user”

  • 用户名 / 密码错误
  • 用户 host 不匹配

查看用户权限:

SELECT user, host FROM mysql.user;

四、快速检查清单 ✅

  • [ ] MySQL 已安装并运行
  • [ ] bind-address = 0.0.0.0
  • [ ] 用户有远程权限
  • [ ] 防火墙放行 3306
  • [ ] 客户端能 ping 通服务器

如果你愿意,可以告诉我:

  • 是本机还是远程?
  • Debian 版本(11 / 12)
  • 报错信息

我可以帮你精确排查

0