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

Utiliser les bases de données relationnelles MySQL sur Ubuntu 10.04 LTS (Lucid)

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 un Linode Ubuntu 10.04 LTS (Lucid). Pour les besoins de ce didacticiel, nous supposerons que vous avez suivi les étapes décrites dans notre Configuration et sécurisation d'une instance de calcul, que votre système est à jour et que vous vous êtes connecté à votre Linode en tant que root via SSH. Si vous effectuez ces étapes en tant qu'utilisateur standard avec des privilèges sudo, n'oubliez pas d'ajouter "sudo" aux commandes indiquées ci-dessous.

Configuration de base du système

Assurez-vous que votre /etc/hosts le fichier contient des valeurs sensibles. Dans l'exemple de fichier ci-dessous, vous remplaceriez "12.34.56.78" par l'adresse IP de votre Linode, et "servername.example.com" par le nom de domaine complet (FQDN) de votre Linode. Il est conseillé d'utiliser quelque chose d'unique et de mémorable pour "servername" dans ce fichier.

Fichier :/ etc/hôtes
1
2
127.0.0.1 localhost.localdomain localhost
12.34.56.78 servername.example.com servername

Ensuite, assurez-vous que le nom d'hôte de votre Linode est défini sur la valeur courte que vous avez spécifiée dans /etc/hosts :

echo "servername" > /etc/hostname
hostname -F /etc/hostname

Pour vous assurer que universe les référentiels sont activés, modifiez votre /etc/apt/sources.list fichier pour refléter l'exemple de fichier ci-dessous.

Fichier :/ etc/apt/sources.list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
## main & restricted repositories
deb http://us.archive.ubuntu.com/ubuntu/ lucid main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid main restricted

deb http://security.ubuntu.com/ubuntu lucid-security main restricted
deb-src http://security.ubuntu.com/ubuntu lucid-security main restricted

## universe repositories
deb http://us.archive.ubuntu.com/ubuntu/ lucid universe
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid universe
deb http://us.archive.ubuntu.com/ubuntu/ lucid-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid-updates universe

deb http://security.ubuntu.com/ubuntu lucid-security universe
deb-src http://security.ubuntu.com/ubuntu lucid-security universe

Installer MySQL

Assurez-vous que vos référentiels de packages et programmes installés sont à jour en exécutant les commandes suivantes :

apt-get update
apt-get upgrade --show-upgraded

Commencez par lancer la commande suivante dans votre terminal :

apt-get install mysql-server

Vous serez invité à définir un mot de passe pour l'utilisateur racine MySQL. Choisissez un mot de passe fort et conservez-le dans un endroit sûr pour référence future.

Le package de serveur MySQL sera installé sur votre serveur, ainsi que les dépendances et les bibliothèques clientes. Après avoir installé MySQL, il est recommandé d'exécuter mysql_secure_installation afin d'aider à 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

Après avoir exécuté mysql_secure_installation , MySQL est sécurisé et prêt à être configuré.

Configurer MySQL

Par défaut, MySQL fait certaines hypothèses sur votre environnement de serveur en ce qui concerne la mémoire. Pour configurer MySQL de manière plus conservatrice, vous devrez modifier certains paramètres dans son fichier de configuration. Votre fichier doit ressembler à ce qui suit :

Fichier :/ etc/mysql/mon.cnf
1
2
3
4
5
6
key_buffer = 16M
max_allowed_packet = 1M
thread_stack = 64K
table_cache = 4
sort_buffer = 64K
net_buffer_length = 2K

Ces paramètres ne sont que des valeurs suggérées pour un environnement à faible mémoire ; n'hésitez pas à les ajuster aux valeurs appropriées pour votre serveur. Consultez la section "Plus d'informations" à la fin de ce didacticiel pour des ressources supplémentaires sur ce sujet.

MySQL se liera à localhost (127.0.0.1) par défaut. Veuillez consulter notre guide d'accès distant sécurisé à MySQL pour plus d'informations sur la connexion à vos bases de données avec des clients locaux.

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.

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 34
Server version: 5.1.41-3ubuntu12 (Ubuntu)

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

mysql>

Si vous avez oublié votre mot de passe root, utilisez l'outil de reconfiguration du package pour modifier ce mot de passe :

dpkg-reconfigure mysql-server-5.1

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

Cela crée une table avec un champ ID client de type INT pour entier (auto-incrémenté pour les nouveaux enregistrements et utilisé comme clé primaire), ainsi que deux champs pour stocker le nom du client.

Par défaut, l'accès aux bases de données sera limité aux connexions depuis localhost. Pour administrer en toute sécurité vos bases de données depuis un emplacement distant, veuillez suivre notre guide pour administrer mysql en toute sécurité avec un tunnel SSH. Ce n'est pas une bonne pratique consiste à exécuter MySQL sur votre adresse IP publique, sauf si vous avez une très bonne raison de le faire.

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