跳到主要内容

Debian MySQL/MariaDB 配置

MySQL 和 MariaDB 是广泛使用的关系型数据库管理系统(RDBMS),适用于各种规模的应用程序。在 Debian 服务器上配置这些数据库是开发者和系统管理员的基本技能之一。本文将逐步指导你如何在 Debian 上安装、配置和管理 MySQL 或 MariaDB。

1. 安装 MySQL/MariaDB

在 Debian 上,你可以选择安装 MySQL 或 MariaDB。MariaDB 是 MySQL 的一个分支,提供了更多的功能和改进。以下是安装步骤:

安装 MySQL

bash
sudo apt update
sudo apt install mysql-server

安装 MariaDB

bash
sudo apt update
sudo apt install mariadb-server

安装完成后,MySQL/MariaDB 服务会自动启动。你可以使用以下命令检查服务状态:

bash
sudo systemctl status mysql

bash
sudo systemctl status mariadb

2. 基本配置

安装完成后,建议运行安全脚本来增强数据库的安全性:

bash
sudo mysql_secure_installation

该脚本会引导你完成以下步骤:

  1. 设置 root 用户的密码。
  2. 删除匿名用户。
  3. 禁止远程 root 登录。
  4. 删除测试数据库。
  5. 重新加载权限表。
提示

建议为 root 用户设置一个强密码,并禁止远程 root 登录以提高安全性。

3. 用户管理

创建新用户

你可以通过 MySQL/MariaDB 命令行工具创建新用户并授予权限。首先,登录到 MySQL/MariaDB:

bash
sudo mysql -u root -p

然后,创建一个新用户并授予权限:

sql
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

删除用户

要删除用户,可以使用以下命令:

sql
DROP USER 'username'@'localhost';

4. 数据库管理

创建数据库

sql
CREATE DATABASE mydatabase;

删除数据库

sql
DROP DATABASE mydatabase;

导入和导出数据

你可以使用 mysqldump 工具来导出数据库:

bash
mysqldump -u username -p mydatabase > mydatabase.sql

要导入数据库,可以使用以下命令:

bash
mysql -u username -p mydatabase < mydatabase.sql

5. 安全性配置

配置远程访问

默认情况下,MySQL/MariaDB 只允许本地访问。要允许远程访问,你需要编辑配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf/etc/mysql/mariadb.conf.d/50-server.cnf,并注释掉 bind-address 行:

bash
# bind-address = 127.0.0.1

然后,重启 MySQL/MariaDB 服务:

bash
sudo systemctl restart mysql

bash
sudo systemctl restart mariadb

使用防火墙

确保你的服务器防火墙允许 MySQL/MariaDB 的端口(默认是 3306):

bash
sudo ufw allow 3306/tcp

6. 实际案例

假设你正在开发一个 Web 应用程序,并需要在 Debian 服务器上配置 MySQL 数据库来存储用户数据。以下是一个简单的步骤:

  1. 安装 MySQL 并运行安全脚本。
  2. 创建一个新用户并授予权限。
  3. 创建一个数据库来存储用户数据。
  4. 配置应用程序以连接到数据库。

7. 总结

在 Debian 服务器上配置 MySQL 或 MariaDB 是一个相对简单的过程,但需要仔细考虑安全性。通过本文的步骤,你应该能够成功安装、配置和管理 MySQL/MariaDB 数据库。

8. 附加资源

9. 练习

  1. 在 Debian 服务器上安装 MySQL 或 MariaDB。
  2. 创建一个新用户并授予权限。
  3. 创建一个数据库并导入一些数据。
  4. 配置远程访问并测试连接。

通过完成这些练习,你将更好地理解如何在 Debian 服务器上配置和管理 MySQL/MariaDB 数据库。