在 Debian 系统上配置 MySQL(通常指 MySQL Server 或 MariaDB,Debian 默认常用 MariaDB)主要包括:安装、初始化、安全配置、远程访问、字符集、用户与数据库管理 等。下面给你一套从零到可用的完整配置流程。
sudo apt update
sudo apt upgrade -y
sudo apt install mysql-server -y
sudo apt install mariadb-server -y
两者配置方式几乎一致,下文以 MySQL 为例。
运行安全脚本:
sudo mysql_secure_installation
会依次提示:
validate_password 插件(建议选 N)sudo systemctl start mysql
sudo systemctl enable mysql
查看状态:
sudo systemctl status mysql
sudo mysql
mysql -u root -p
CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password123';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
编辑:
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
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 |
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
如果你需要:
告诉我你的 Debian 版本 + MySQL 版本 + 使用场景,我可以给你定制配置。