跳到主要内容
Linux
1. trojan-qt5代理上网工具客户端介绍
2. Trojan代理上网节点服务器介绍专门为Trojan-qt5打造
3. Trojan节点订阅以及服务器端一键搭建教程
4. Trojan qt5图形化代理工具使用配置及设置教程
5. V免签PHP二开版源码兼容所有易支付接口系统
6. V免签二开支付PHP源码|带监控APP
7. 支持多协议多用户的xray面板支持Trojan及vmess协议
8. 如何在Debian 12上安装Nginx Web服务器
9. 如何在Debian 12系统上安装MySQL数据库

介绍

MySQL 是一个开源关系数据库管理系统 (RDBMS),可用于在服务器上存储、管理和检索数据库记录。MySQL 用作数据库后端,使用 SQL(结构化查询语言)语法以表的形式存储关系数据,从而实现服务器上高效的记录管理。

本文介绍如何在 Debian 12 上安装 MySQL、保护数据库服务器以及对所有数据库用户实施强身份验证策略。

如何在debian 12系统上安装mysql数据库
如何在debian 12系统上安装mysql数据库

先决条件

开始之前:

安装 MySQL

MySQL 数据库服务器包在 Debian 12 上的默认 APT 存储库中不可用。按照以下步骤下载最新的 MySQL 存储库信息包并在您的服务器上安装 MySQL。

  1. 下载最新的 MySQL 存储库信息包。
    $ wget  https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb
    

    访问MySQL APT 存储库页面来验证并下载最新的脚本版本。

  2. 使用该文件安装 MySQL 存储库信息。
    $ sudo  dpkg  -i  mysql-apt-config_0.8.30-1_all.deb
    

    回复以下 MySQL 存储库设置脚本提示以安装最新的数据库服务器源。

    ┌────────────────┤ Configuring mysql-apt-config ├─────────────────┐
    │ Which MySQL product do you wish to configure?                   │ 
    │                                                                 │ 
    │     MySQL Server & Cluster (Currently selected: mysql-8.0)      │ 
    │     MySQL Tools & Connectors (Currently selected: Enabled)      │ 
    │     MySQL Preview Packages (Currently selected: Disabled)       │ 
    │     Ok                                                          │ 
    │                                                                 │ 
    │                                                                 │ 
    │                             <Ok>                                │ 
    │                                                                 │ 
    └─────────────────────────────────────────────────────────────────┘
    • 保持选择 MySQL 服务器和集群并按Enter保存更改。
    • 选择所需的 MySQL 服务器版本。例如,mysql-8.0然后按Enter应用版本存储库信息。
    • 按下Down键盘上的“确定” ,然后按下Enter以将 MySQL 存储库信息应用到您的服务器上。
  3. 更新服务器的包索引以应用新的 MySQL 存储库信息。
    $ sudo  apt update
    
  4. 安装 MySQL 数据库服务器包。
    $ sudo  apt  install  mysql-server  -y
    
    • 出现提示时输入新的root数据库用户密码,然后按Enter
    Enter root password:
    • 再次输入密码并按Enter应用更改。
    Re-enter root password:
    • 保持Use Strong Password Encryption (RECOMMENDED)选中并按下Enter为服务器上的所有数据库用户启用密码验证。
    Use Strong Password Encryption (RECOMMENDED)                                     
    Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)                                                        
  5. 查看您的服务器上安装的 MySQL 版本。
    $ mysql  --version
    

    输出:

    mysql  Ver 8.0.38 for Linux on x86_64 (MySQL Community Server - GPL)

管理 MySQL 系统服务

MySQL 使用mysqld系统服务通过 systemd 守护程序来管理数据库服务器运行时进程。按照以下步骤管理 MySQL 系统服务并使数据库服务器在启动时自动启动。

  1. 使 MySQL 数据库服务器在启动时自动启动。
    $ sudo systemctl enable mysql
  2. 启动 MySQL 数据库服务器。
    $ sudo  systemctl start mysql
    
  3. 查看MySQL系统服务状态并验证其正在运行。
    $ sudo  systemctl  status  mysql
    

    输出:

        ● mysql.service - MySQL Community Server
    Loaded: loaded (/lib/systemd/system/mysql.service; enabled; preset: enabled)
    Active: active (running) since Fri 2024-06-28 15:20:55 UTC; 52s ago
    Docs: man:mysqld(8)
    http://dev.mysql.com/doc/refman/en/using-systemd.html
    Main PID: 3302 (mysqld)
    Status: "Server is operational"
    Tasks: 36 (limit: 1092)
    Memory: 433.4M
    CPU: 662ms
    CGroup: /system.slice/mysql.service
    └─3302 /usr/sbin/mysqld

    根据以上输出,MySQL 数据库服务器处于活动状态并正在运行。

保护 MySQL 数据库服务器

MySQLroot数据库用户在您的服务器上使用您在安装过程中设置的密码进行主动保护。MySQL 包含其他不安全的默认设置,例如测试数据库和对root您服务器上的数据库用户的远程访问。请按照以下步骤禁用所有不安全的默认配置并保护 MySQL 数据库服务器。

  1. 运行 MySQL 安全安装。
    $ sudo  mysql_secure_installation
    

    回复以下 MySQL 提示以保护您的数据库服务器。

    • 进入root数据库用户启动安全安装脚本,修改数据库服务器配置。
    Securing the MySQL server deployment.
    Enter password for user root:
    • 输入Y并按Enter以启用VALIDATE PASSWORD COMPONENT并确保严格的密码安全策略。
    Would you like to setup VALIDATE PASSWORD component?
    Press y|Y for Yes, any other key for No:
    • 设置所需的 MySQL 数据库服务器密码强度策略。例如,输入2并按Enter以在您的服务器上启用强密码。
    LOW    Length >= 8
    MEDIUM Length >= 8, numeric, mixed case, and special characters
    STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
    Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
    • N当提示更改数据库用户密码时输入root,或者输入Y来更改密码。
    Change the password for root ? ((Press y|Y for Yes, any other key for No) :  
    • 当系统提示在数据库服务器上删除时,输入Y并按。Enteranonymous users
    Remove anonymous users? (Press y|Y for Yes, any other key for No) :
    • 输入Y并按Enter以禁用root数据库用户的远程访问。
    Disallow root login remotely? (Press y|Y for Yes, any other key for No) :
    • 输入Y并按下Enter即可从您的服务器上删除test database
    Remove test database and access to it? (Press y|Y for Yes, any other key for No) :
    • 输入Y并按Enter以更新 MySQL 权限表并应用您的配置更改。
    Reload privilege tables now? (Press y|Y for Yes, any other key for No) :

    输出:

    Success.
    All done!

访问 MySQL

MySQL 使用mysql客户端工具连接并访问数据库服务器控制台。您也可以使用兼容的图形界面工具(如 MySQL Workbench 和 PhpMyAdmin)访问 MySQL 数据库服务器控制台。按照以下步骤访问 MySQL 控制台并在数据库服务器上执行基本 SQL 操作。

  1. 以数据库用户身份登录MySQL控制台root
    $ sudo  mysql  -u  root  -p
    

    出现提示时输入root您之前创建的用户密码。

  2. 创建一个新的示例数据库shop
    mysql >CREATE DATABASE shop;    
    
  3. 查看所有数据库并验证新的示例shop数据库是否可用。
    mysql >SHOW DATABASES;   
    

    输出:

    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | shop               |
    | sys                |
    +--------------------+
    5 rows in set (0.00 sec)
  4. 切换到shop数据库。
    mysql >USE shop;   
    
  5. 创建一个products有 4 列的新示例表来存储示例数据。
    mysql > CREATE TABLE产品(product_id INT AUTO_INCREMENT PRIMARY KEY ,product_name VARCHAR (50 )NOT NULL ,类别VARCHAR (40 ),价格DECIMAL (10,2 ));     
    
  6. products使用以下 SQL 值向表中插入新数据。
    mysql >插入产品(产品名称,类别,价格)值('笔记本电脑' ,'电子产品' ,999.34 ),( '办公椅' ,'家具' ,149.19 ),('搅拌机' ,'家电' ,49.20 ),('背包' ,'配件' ,39.57 );        
    
  7. 查询products表数据并验证您的值是否可用。
    mysql >从产品中选择* ;     
    

    输出:

    +------------+--------------+-------------+--------+
    | product_id | product_name | category    | price  |
    +------------+--------------+-------------+--------+
    |          1 | Laptop       | Electronics | 999.34 |
    |          2 | Office Chair | Furniture   | 149.19 |
    |          3 | Blender      | Appliances  |  49.20 |
    |          4 | Backpack     | Accessories |  39.57 |
    +------------+--------------+-------------+--------+
    4 rows in set (0.00 sec)
  8. 创建一个新的示例数据库用户,db_user并设置一个强密码。Strong@@password123根据数据库服务器策略将其替换为您所需的密码。
    mysql >创建用户'db_user' @ 'localhost'由'Strong@@password123'标识;       
    
  9. 授予数据库db_user的全部权限shop
    mysql >授予shop的所有权限。*至'db_user' @ 'localhost' ;        
    
  10. 重新加载 MySQL 权限表以应用更改。
    mysql >刷新权限;   
    
  11. 退出 MySQL 控制台。
    mysql >退出  
    
  12. 以新的数据库用户身份登录MySQL数据库服务器,db_user测试对shop数据库的访问。
    $ sudo  mysql  -u  db_user  -p
    

    出现提示时输入db_user用户密码,然后按Enter访问数据库控制台。

  13. 查看所有数据库并验证shop数据库是否可用。
    mysql >显示数据库;  
    

    输出:

    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | performance_schema |
    | shop               |
    +--------------------+
    3 rows in set (0.00 sec)
  14. 退出 MySQL 控制台。
    mysql >退出  
    

结论

您已在 Debian 12 服务器上安装 MySQL,并在数据库服务器上启用了安全身份验证策略。您可以创建多个数据库记录,并将 MySQL 数据库服务器与 PHP 等处理应用程序集成,以安全地查询 SQL 数据以供动态 Web 应用程序使用。有关更多信息和数据库服务器安全选项,请访问MySQL 文档

回到顶部