温馨提示×

Debian MySQL如何配置

小樊
41
2026-07-15 19:43:52
栏目: 云计算

在 Debian 系统上配置 MySQL(通常指 MySQL ServerMariaDB,Debian 默认常用 MariaDB)主要包括:安装、初始化、安全配置、远程访问、字符集、用户与数据库管理 等。下面给你一套从零到可用的完整配置流程


一、安装 MySQL / MariaDB

1️⃣ 更新系统

sudo apt update
sudo apt upgrade -y

2️⃣ 安装 MySQL(或 MariaDB)

✅ 安装 MySQL(官方方式)

sudo apt install mysql-server -y

✅ 或安装 MariaDB(Debian 默认推荐)

sudo apt install mariadb-server -y

两者配置方式几乎一致,下文以 MySQL 为例。


二、初始化安全配置(强烈推荐)

运行安全脚本:

sudo mysql_secure_installation

会依次提示:

  1. 设置 root 密码(如果是 MySQL 8)
  2. 是否启用 validate_password 插件(建议选 N)
  3. 移除匿名用户(Y)
  4. 禁止 root 远程登录(建议 Y)
  5. 删除 test 数据库(Y)
  6. 重新加载权限表(Y)

三、启动与开机自启

sudo systemctl start mysql
sudo systemctl enable mysql

查看状态:

sudo systemctl status mysql

四、登录 MySQL

方式一:root 本地登录(Debian 默认)

sudo mysql

方式二:使用密码登录

mysql -u root -p

五、用户与数据库配置(常用)

1️⃣ 创建数据库

CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

2️⃣ 创建用户

CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password123';

3️⃣ 授权

GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;

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

1️⃣ 修改配置文件

编辑:

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 'password123';
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%';
FLUSH PRIVILEGES;

⚠️ 生产环境不建议 %,应指定 IP


七、字符集与编码配置(推荐)

编辑配置文件:

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

添加:

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

客户端配置:

[client]
default-character-set = utf8mb4

重启:

sudo systemctl restart mysql

八、防火墙放行(如有)

sudo ufw allow 3306

九、常用管理命令

功能 命令
启动 sudo systemctl start mysql
停止 sudo systemctl stop mysql
重启 sudo systemctl restart mysql
查看状态 sudo systemctl status mysql
查看版本 mysql -V

十、常见问题

❓ Debian 下 sudo mysql 能进,但 -p 不行?

原因:MySQL 8 默认使用 auth_socket 插件

解决:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;

十一、总结(快速版)

sudo apt install mysql-server
sudo mysql_secure_installation
sudo systemctl enable mysql
sudo mysql

如果你需要:

  • LNMP / LAMP 环境
  • Docker 安装 MySQL
  • 主从复制
  • 性能优化(my.cnf)
  • 生产环境安全配置

告诉我你的 Debian 版本 + MySQL 版本 + 使用场景,我可以给你定制配置。

0