Maison > base de données > tutoriel mysql > le corps du texte

Guide étape par étape pour installer un serveur SQL sur Ubuntu 04

WBOY
Libérer: 2024-07-17 01:20:20
original
1355 Les gens l'ont consulté

Guide étape par étape pour installer un serveur SQL sur Ubuntu 22.04

Step-by-step guide for how to install an SQL server on Ubuntu 04

Installation du serveur SQL

Mettez d'abord à jour votre bureau et installez le serveur SQL

sudo apt-get update

sudo apt-get install mysql-server
Copier après la connexion

Vérifiez que le serveur est en cours d'exécution avec la commande suivante

sudo systemctl start mysql.service

sudo systemctl status mysql.service
Copier après la connexion

Le résultat devrait ressembler à ceci :

live MySQL server

Configurer MySQL

Vous devrez définir le mot de passe du compte root si vous exécutez l'installation sur une machine Ubuntu car l'authentification est désactivée sur Ubuntu par défaut. Afin d'éviter une erreur, vous devrez configurer la méthode d'authentification du compte root

sudo mysql
Copier après la connexion
Copier après la connexion

Changez le mot de passe root en utilisant ALTER USER :

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Copier après la connexion

Quitter après avoir effectué cette modification

mysql> exit
Copier après la connexion
Copier après la connexion

Sécurisez votre compte utilisateur root MySQL

Pour sécuriser votre serveur, vous devrez exécuter la commande suivante pour configurer votre politique de mot de passe

sudo mysql_secure_installation
Copier après la connexion

La politique de mot de passe indiquée s'appliquera aux comptes d'utilisateurs suivants créés.

La prochaine étape consiste à s'authentifier à l'aide du mot de passe de l'utilisateur root :

mysql -u root -p
Copier après la connexion
Copier après la connexion

Cette commande donne à l'utilisateur root l'accès au cli MySQL, et également d'interagir directement avec le serveur MySQL.

Revenez ensuite à l'utilisation de la méthode d'authentification par défaut à l'aide de cette commande :

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
Copier après la connexion

Cela vous permettra de vous connecter à nouveau en utilisant la commande sudo mysql.

Création d'un utilisateur MySQL par défaut/nouvel et ses privilèges

Il est mauvais pour OpSec d'utiliser le compte root pour effectuer des actions quotidiennes régulières sur la base de données. La meilleure option est de créer un compte utilisateur avec des privilèges limités.

Cela se fait d'abord en vous connectant en tant que root avec la commande suivante :

sudo mysql
Copier après la connexion
Copier après la connexion

Alternativement, si vous avez déjà défini un mot de passe pour le compte root, utilisez plutôt celui-ci :

mysql -u root -p
Copier après la connexion
Copier après la connexion

Ensuite, créez un nouvel utilisateur :

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
Copier après la connexion

Après avoir entré la commande, suivez l'invite et remplissez votre nom d'utilisateur, votre nom d'hôte (localhost si vous utilisez Ubuntu).

Pour l'authentification, vous avez la possibilité d'utiliser le plugin auth_socket qui fournit une sécurité de chaîne sans nécessiter de mot de passe mais qui présente l'inconvénient d'empêcher les connexions à distance, le plugin authentication_plugin, caching_sha2_password qui est le plugin MySQL par défaut, mais son inconvénient est que certaines versions de PHP n'est pas compatible avec celui-ci ni avec le plugin mysql_native_password.

mysql> CREATE USER 'jack'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Copier après la connexion

Vous pouvez également modifier un utilisateur existant en utilisant :

mysql> ALTER 'jack'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
Copier après la connexion

Attribution de privilèges

Après avoir créé l'utilisateur, vous pouvez lui attribuer des privilèges avec la syntaxe suivante.

mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';
Copier après la connexion

Utiliser GRANT ALL PRIVILEGES à la place donnera à l'utilisateur des privilèges de superutilisateur similaires à ceux de root. Un tel indicateur irait autrement à l'encontre de l'objectif de création d'un compte utilisateur distinct de root.

La variable PRIVILEGE représente l'action qu'un utilisateur est autorisé à effectuer. Des privilèges globaux peuvent également être accordés en remplaçant database.table par *.

Ci-dessous, nous accorderons aux utilisateurs les autorisations nécessaires pour créer, modifier, supprimer, insérer, sélectionner, mettre à jour et supprimer des données d'une table en utilisant respectivement CREATE, ALTER, DROP, INSERT, SELECT, UPDATE et DELETE.

mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'jack'@'hostname' WITH GRANT OPTION;
Copier après la connexion

L'indicateur WITH GRANT OPTION permet à l'utilisateur d'accorder les privilèges dont il dispose à d'autres utilisateurs.

Ensuite, nous utiliserons la commande FLUSH PRIVILEGES pour vider le cache et libérer de la mémoire :

mysql> FLUSH PRIVILEGES;
Copier après la connexion

Après avoir pu quitter le cli MySQL

mysql> exit
Copier après la connexion
Copier après la connexion

Vous pouvez désormais vous reconnecter en utilisant vos identifiants

mysql -u jack -p
Copier après la connexion

Tester le serveur MySQL

Vous pouvez maintenant vérifier que le serveur MySQL fonctionne avec la commande suivante :

systemctl status mysql.service
Copier après la connexion

Vous pouvez également vous connecter à la base de données MySQL à l'aide de l'outil de commande d'administration mysqladmin.

sudo mysqladmin -p -u jack version
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!