Maison  >  Article  >  base de données  >  Guide étape par étape pour installer un serveur SQL sur Ubuntu 04

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

WBOY
WBOYoriginal
2024-07-17 01:20:201328parcourir

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

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

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

Changez le mot de passe root en utilisant ALTER USER :

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Quitter après avoir effectué cette modification

mysql> exit

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

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

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;

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

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

Ensuite, créez un nouvel utilisateur :

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';

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';

Vous pouvez également modifier un utilisateur existant en utilisant :

mysql> ALTER 'jack'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';

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';

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;

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;

Après avoir pu quitter le cli MySQL

mysql> exit

Vous pouvez désormais vous reconnecter en utilisant vos identifiants

mysql -u jack -p

Tester le serveur MySQL

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

systemctl status mysql.service

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

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!

Déclaration:
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