Mysql
 sql >> Base de données >  >> RDS >> Mysql

Utilisation des bases de données relationnelles MySQL sur Arch Linux

MySQL est un système de gestion de base de données populaire, utilisé comme fournisseur de stockage de données pour des milliers d'applications Web et serveur. Ce guide aidera les débutants à démarrer avec MySQL sur Arch Linux. Si vous souhaitez déployer MySQL dans le cadre d'une pile d'applications, consultez nos guides LEMP et LAMP.

Configuration du système

Assurez-vous que votre /etc/hosts Le fichier contient des entrées appropriées, similaires à celles présentées ci-dessous. Remplacez "12.34.56.78" par l'adresse publique de votre Linode, "servername" par votre nom d'hôte court et "mydomain.com" par le nom de domaine de votre système.

Fichier :/ etc/hôtes
127.0.0.1 localhost.localdomain localhost
12.34.56.78 servername.mydomain.com servername

Définissez le nom d'hôte de votre système en définissant le HOSTNAME= valeur dans /etc/rc.conf fichier.

Installer MySQL

Exécutez les commandes suivantes pour mettre à jour votre système et installer MySQL :

pacman -Syu
pacman -S mysql

Vous voudrez ajouter le mysqld démon au DAEMONS-() tableau à la fin du /etc/rc.conf fichier pour s'assurer que le processus mysql démarre après le prochain cycle de redémarrage.

Le package de serveur MySQL sera installé sur votre serveur, ainsi que les dépendances et les bibliothèques clientes. Démarrez MySQL en exécutant la commande suivante :

/etc/rc.d/mysqld start

Configurer MySQL

Après avoir installé MySQL, il est recommandé d'exécuter mysql_secure_installation , un programme qui permet de sécuriser MySQL. Lors de l'exécution de mysql_secure_installation , vous aurez la possibilité de modifier le mot de passe root MySQL, de supprimer les comptes d'utilisateurs anonymes, de désactiver les connexions root en dehors de localhost et de supprimer les bases de données de test. Il est recommandé de répondre oui à ces options. Si vous êtes invité à recharger les tables de privilèges, sélectionnez Oui. Exécutez la commande suivante pour exécuter le programme :

mysql_secure_installation

Par défaut, MySQL n'écoute que les connexions internes. Si vous envisagez de vous connecter à votre base de données via TCP/IP, vous devrez supprimer ou commenter (par exemple, préfixer la ligne avec un # ) ajouter le bind-address ligne dans le fichier my.cnf. comme suit :

Fichier :/ etc/mysql/mon.cnf
1
2
# skip-networking
bind-address - 127.0.0.1

Autoriser un accès illimité à MySQL sur une adresse IP publique n'est pas conseillé, mais vous pouvez changer l'adresse sur laquelle il écoute en modifiant le bind-address paramètre. Si vous décidez de lier MySQL à votre adresse IP publique, vous devez implémenter des règles de pare-feu qui n'autorisent que les connexions à partir d'adresses IP spécifiques.

Consultez la section "Plus d'informations" à la fin de ce didacticiel pour des ressources supplémentaires traitant de la configuration de MySQL. Exécutez la commande suivante pour redémarrer le démon :

/etc/rc.d/mysqld restart

Veuillez consulter notre guide d'accès à distance MySQL sécurisé pour plus d'informations sur la connexion à vos bases de données avec des clients locaux.

Utiliser MySQL

L'outil standard pour interagir avec MySQL est le mysql programme client. Pour commencer, lancez la commande suivante à l'invite :

mysql -u root -p

Vous serez invité à entrer le mot de passe de l'utilisateur root MySQL. Entrez le mot de passe que vous avez attribué lors de l'installation de MySQL, et l'écran du moniteur MySQL s'affichera :

    Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.9-log Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Pour générer une liste de commandes pour l'invite MySQL, tapez \h :

    List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
?         (\?) Synonym for `help'.
clear     (\c) Clear the current input statement.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit      (\e) Edit command with $EDITOR.
ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.
go        (\g) Send command to mysql server.
help      (\h) Display this help.
nopager   (\n) Disable pager, print to stdout.
notee     (\t) Don't write into outfile.
pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print     (\p) Print current command.
prompt    (\R) Change your mysql prompt.
quit      (\q) Quit mysql.
rehash    (\#) Rebuild completion hash.
source    (\.) Execute an SQL script file. Takes a file name as an argument.
status    (\s) Get status information from the server.
system    (\!) Execute a system shell command.
tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
use       (\u) Use another database. Takes database name as argument.
charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings  (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.

For server side help, type 'help contents'

mysql>

Créons une base de données et affectons-lui un utilisateur. Exécutez les commandes suivantes à l'invite MySQL :

CREATE DATABASE testdb;
CREATE USER 'testuser'@localhost IDENTIFIED BY 'CHANGEME';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
exit

Reconnectons-nous maintenant au client MySQL en tant que testuser et créez un exemple de tableau appelé "clients". Lancez les commandes suivantes :

mysql -u testuser -p
USE testdb;
CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
exit

Cela crée une table avec un champ ID client de type INT pour entier (auto-incrémenté pour les nouveaux enregistrements, utilisé comme clé primaire), ainsi que deux champs pour stocker le nom du client. Bien sûr, vous voudriez probablement stocker beaucoup plus d'informations que cela pour un client, mais c'est néanmoins un bon exemple de cas courant.

Comment réinitialiser le mot de passe racine de MySQL

Si vous avez oublié votre mot de passe root MySQL, vous pouvez le réinitialiser en exécutant les commandes suivantes :

/etc/rc.d/mysqld stop
mysqld_safe --skip-grant-tables &
mysql -u root

La partie suivante de la réinitialisation du mot de passe sera désormais effectuée dans le programme client MySQL :

USE mysql;
UPDATE user SET PASSWORD-PASSWORD("CHANGEME") WHERE User-'root';
FLUSH PRIVILEGES;
exit

Enfin, redémarrez MySQL en exécutant la commande suivante :

/etc/rc.d/mysqld restart

Régler MySQL

MySQL Tuner est un outil utile qui se connecte à une instance en cours d'exécution de MySQL et fournit des recommandations de configuration basées sur la charge de travail. Idéalement, l'instance MySQL devrait avoir fonctionné pendant au moins 24 heures avant d'exécuter le tuner. Plus l'instance a été exécutée longtemps, meilleurs seront les conseils fournis par MySQL Tuner.

Pour installer MySQL Tuner, lancez les commandes suivantes :

pacman -S wget
wget http://mysqltuner.pl/mysqltuner.pl
chmod 755 mysqltuner.pl

Pour exécuter MySQL Tuner, entrez simplement :

./mysqltuner.pl

Veuillez noter que cet outil est conçu pour fournir des suggestions de configuration et constitue un excellent point de départ. Il serait prudent d'effectuer des recherches supplémentaires pour régler les configurations en fonction de la ou des applications utilisant MySQL*. *

Plus d'informations

Vous pouvez consulter les ressources suivantes pour plus d'informations sur ce sujet. Bien que ceux-ci soient fournis dans l'espoir qu'ils seront utiles, veuillez noter que nous ne pouvons pas garantir l'exactitude ou l'actualité des documents hébergés en externe.

  • Manuel de référence de MySQL 5.1
  • Manuel PHP MySQL
  • Exemples Perl DBI pour DBD::mysql
  • Guide de l'utilisateur de MySQLdb