Ceci est une ancienne révision du document !
Table des matières
MySQL
Installation
root@serveur:/home/simon# apt install mariadb-server
Sécurité
Après l'installation, il faut utiliser “mysql_secure_installation” pour mettre un mot de passe root et sécuriser un minimum MySQL ou MariaDB.
root@serveur:/home/simon# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n]
Quelques exemples
Se connecter :
$ mysql -u root -p Enter password: (...)
Voir les base de données existantes :
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | (...) | +--------------------+
Voir les tables dans une base de données :
mysql> show tables in nextcloud; +-----------------------------+ | Tables_in_nextcloud | +-----------------------------+ | oc_accounts | | oc_activity | | (...) | +-----------------------------+
Créer une base de données :
mysql> CREATE DATABASE nom-de-la-db; Query OK, 1 row affected (0.00 sec)
Créer un nouvel utilisateur pour une base de données :
mysql> CREATE USER '[USER]'@'localhost' IDENTIFIED BY '[PASSWORD]'; Query OK, 0 rows affected (0.00 sec)
Donner les droits à un utilisateur pour une base de données :
mysql> GRANT ALL PRIVILEGES ON [nom_DB].* TO '[USER]'@'localhost' IDENTIFIED BY '[PASSWORD]'; Query OK, 0 rows affected (0.01 sec)
Supprimer une base de données :
mysql> drop database 'nom_DB';
mysqldump
Faire des "dump"
Une seule base de données :
# mysqldump -u root -p database1 > /tmp/database1.sql
Plusieurs bases de données :
# mysqldump -u root -p --databases databaseb1 database2 database3 > /tmp/all-database.sql
Enter password:
Vérification :
# grep " Database:" /tmp/all-database.sql -- Host: localhost Database: database1 -- Current Database: `database1` -- Current Database: `database2` -- Current Database: `database3`
Restaurer
On peut créer une base de données (pour tester), la sauvegarder et puis la supprimer pour enfin essayer de la restaurer.
Pour supprimer la DB, on utilise “drop”:
mysql root@localhost:(none)> drop DATABASE database1;
Si on essaye de restaurer la base de données, sans la recréer au préalable, on a une erreur disant qu'elle n'existe pas. On commence donc par créer la base de données :
mysql root@localhost:(none)> CREATE DATABASE database1;
Pour restaurer, on utilise mysql (et non mysqldump!!) :
# mysql -u root -p database1 < /tmp/database1.sql
Enter password:
mycli
# apt-get install python3-dev python3-pip
# pip3 install mycli