温馨提示×

Debian怎么配置MySQL数据库

小樊
36
2026-08-14 23:08:01
栏目: 云计算

在 Debian 系统上配置 MySQL 数据库,通常包括 安装、初始化、安全配置、远程访问、用户与数据库管理 等步骤。下面以 Debian 11/12 + MySQL 8.x 为例,给你一套完整、常用的配置流程。


一、安装 MySQL

1️⃣ 更新软件源

sudo apt update
sudo apt upgrade -y

2️⃣ 安装 MySQL Server

sudo apt install mysql-server -y

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


二、检查 MySQL 服务状态

sudo systemctl status mysql

常用命令:

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

三、MySQL 初始化与安全配置(非常重要)

1️⃣ 运行安全脚本

sudo mysql_secure_installation

按提示操作,通常包括:

  • 是否启用 validate_password 密码强度校验(建议启用)
  • 设置 root 密码
  • 是否删除匿名用户(✅ 是)
  • 是否禁止 root 远程登录(✅ 是,推荐)
  • 是否删除 test 数据库(✅ 是)
  • 是否立即生效权限(✅ 是)

四、登录 MySQL

方法一:使用 root 登录(Debian 默认 auth_socket)

sudo mysql

方法二:使用密码登录(推荐)

如果已设置密码但仍无法登录:

mysql -u root -p

如果提示 Access denied,可能需要修改认证方式(见下文)。


五、配置 root 使用密码登录(常见需求)

1️⃣ 登录 MySQL

sudo mysql

2️⃣ 修改认证方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'StrongPassword123!';
FLUSH PRIVILEGES;
EXIT;

3️⃣ 测试登录

mysql -u root -p

六、创建数据库和用户(推荐做法)

1️⃣ 登录 MySQL

mysql -u root -p

2️⃣ 创建数据库

CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3️⃣ 创建用户

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'UserPassword123!';

4️⃣ 授权

GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;

七、配置远程访问(可选)

⚠️ 生产环境请谨慎开启

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️⃣ 创建允许远程连接的用户

CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'RemotePass123!';
GRANT ALL PRIVILEGES ON mydb.* TO 'remoteuser'@'%';
FLUSH PRIVILEGES;

3️⃣ 开放防火墙端口(如有)

sudo ufw allow 3306

八、字符集与编码(推荐)

查看当前字符集:

SHOW VARIABLES LIKE 'character_set%';

建议设置为 utf8mb4(支持 emoji):

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

九、常用管理命令

# 查看版本
mysql --version

# 查看数据库
SHOW DATABASES;

# 查看用户
SELECT user, host FROM mysql.user;

# 备份数据库
mysqldump -u root -p mydb > mydb.sql

# 恢复数据库
mysql -u root -p mydb < mydb.sql

十、常见问题

❓ 忘记 root 密码

可进入 安全模式重置密码(需要我可单独给你步骤)

❓ Debian 默认用 auth_socket 登录

这是正常行为,推荐用普通用户 + 密码方式管理数据库


总结(最简流程)

sudo apt install mysql-server
sudo mysql_secure_installation
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
FLUSH PRIVILEGES;

如果你告诉我:

  • Debian 版本(10 / 11 / 12)
  • MySQL 版本(5.7 / 8.0)
  • 是否用于 生产环境 / 本地开发 / Docker

我可以给你 更精确、更安全的配置方案

0