Principes essentiels de l'administration de la base de données MySQL

MySQLMySQLBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce projet, vous allez apprendre à créer un nouvel utilisateur dans une base de données MySQL, à définir le nombre maximum de connexions et à configurer la période de conservation des journaux binaires. Ce projet est conçu pour vous aider à comprendre les tâches de base d'administration de base de données et à les automatiser à l'aide de scripts SQL.

👀 Aperçu

Aperçu de la configuration de la base de données MySQL

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment démarrer le service MySQL sur votre système
  • Comment créer un nouvel utilisateur avec une connexion locale sans mot de passe
  • Comment définir le nombre maximum de connexions à la base de données
  • Comment activer la suppression automatique des journaux binaires et définir la période de conservation des journaux

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Gérer les comptes utilisateurs et les autorisations dans une base de données MySQL
  • Configurer les paramètres de la base de données pour optimiser les performances et la maintenance
  • Automatiquer les tâches courantes d'administration de base de données à l'aide de scripts SQL

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) mysql(("MySQL")) -.-> mysql/TransactionManagementandSecurityGroup(["Transaction Management and Security"]) mysql(("MySQL")) -.-> mysql/SystemManagementToolsGroup(["System Management Tools"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/user("User Info Function") mysql/TransactionManagementandSecurityGroup -.-> mysql/grant_permission("Permission Granting") mysql/SystemManagementToolsGroup -.-> mysql/show_variables("Configuration Overview") mysql/SystemManagementToolsGroup -.-> mysql/mysqladmin("Admin Utility") subgraph Lab Skills mysql/select -.-> lab-301428{{"Principes essentiels de l'administration de la base de données MySQL"}} mysql/source -.-> lab-301428{{"Principes essentiels de l'administration de la base de données MySQL"}} mysql/user -.-> lab-301428{{"Principes essentiels de l'administration de la base de données MySQL"}} mysql/grant_permission -.-> lab-301428{{"Principes essentiels de l'administration de la base de données MySQL"}} mysql/show_variables -.-> lab-301428{{"Principes essentiels de l'administration de la base de données MySQL"}} mysql/mysqladmin -.-> lab-301428{{"Principes essentiels de l'administration de la base de données MySQL"}} end

Démarrer le service MySQL

Dans cette étape, vous allez démarrer le service MySQL sur votre système. Suivez les étapes ci-dessous pour compléter cette étape :

  1. Ouvrez un terminal sur votre système.
  2. Exécutez la commande suivante pour démarrer le service MySQL :
sudo service mysql start

Cela démarrera le service MySQL sur votre système.

Enregistrer le script

  1. Créez un nouveau fichier nommé userBinLog.sql dans le répertoire ~/project.

  2. Copiez le code suivant dans le fichier userBinLog.sql :

  3. Créez un nouvel utilisateur nommé 'Rong' avec un mot de passe vide

    -- Créez un nouvel utilisateur nommé 'Rong' avec un mot de passe vide
    CREATE USER 'Rong'@'localhost' IDENTIFIED BY '';

    Cela créera un nouvel utilisateur nommé "Rong" avec un mot de passe vide et permettra à l'utilisateur de se connecter à partir de la machine locale.

  4. Définissez le nombre maximum de connexions sur 50

    -- Définissez le nombre maximum de connexions sur 50
    SET GLOBAL max_connections = 50;

    Cela définira le nombre maximum de connexions sur 50.

  5. Définissez la période de conservation des journaux binaires sur 15 jours

    -- Définissez la période de conservation des journaux binaires sur 15 jours
    SET GLOBAL binlog_expire_logs_seconds = 15 * 24 * 60 * 60;

    Cela définira la période de conservation des journaux binaires sur 15 jours.

Exécuter le script

  1. Ouvrez une interface de ligne de commande MySQL en exécutant la commande suivante :

    mysql -uroot
  2. Dans l'invite MySQL, exécutez la commande suivante pour exécuter le script userBinLog.sql :

    SOURCE ~/project/userBinLog.sql

    Cela exécutera les instructions SQL dans le script userBinLog.sql.

  3. Vous avez maintenant terminé le projet. Vous pouvez vérifier les résultats en exécutant les instructions SQL suivantes :

    SHOW VARIABLES LIKE "%max_connections%";
    SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
    use mysql;
    SELECT user, host FROM user WHERE user = 'Rong';

    Ces instructions afficheront les valeurs actuelles des variables max_connections et binlog_expire_logs_seconds, ainsi que l'utilisateur que vous avez créé.

Vous pouvez vérifier les résultats suivants :

MariaDB [(none)]> SHOW VARIABLES LIKE "%max_connections%";
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| extra_max_connections | 1     |
| max_connections       | 50    |
+-----------------------+-------+
2 rows in set (0.001 sec)

MariaDB [(none)]> SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
+----------------------------+---------+
| Variable_name              | Value   |
+----------------------------+---------+
| binlog_expire_logs_seconds | 1296000 |
+----------------------------+---------+
1 row in set (0.000 sec)

MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]> SELECT user, host FROM user WHERE user = 'Rong';
+------+-----------+
| User | Host      |
+------+-----------+
| Rong | localhost |
+------+-----------+
1 row in set (0.001 sec)
✨ Vérifier la solution et pratiquer

Sommaire

Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.