Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Toutes les commandes SQL utiles sur un des serveurs possédants une base de données MariaDB/MySQL


Si besoin d'effectuer des opérations d'import ou d'export via des dump de base MySQL, on peut utiliser deux méthodes :

  • Pour les petites bases (< 1.5G) : interface web Adminer : https://adminer.gadz.org
  • Pour les base volumineuse (de type de celle du site Soce.fr) : en ligne de commande depuis le serveur Belenos (MariaDB) via la cmd mysqldump.

Effectuer un dump

Se connecter en ssh à belenosau serveur, puis se rendre dans le répertoire /mysql et lancer ensuite la commande suivante :

...

Bloc de code
languagebash
themeEmacsMidnight
cd /mysql
mysqldump -u root -p --all-databases > PATH_FOR_THE_DESTINATION.sql

...

Bloc de code
languagebash
themeEmacsMidnight
cd /mysql
mysqldump -u root -p --databases DB_NAME_1 DB_NAME_2 > PATH_FOR_THE_DESTINATION.sql

...

Bloc de code
languagebash
themeMidnight
cd /mysql
mysqldump -u root -p --opt SQL_DB_NAME TABLE_NAME > PATH_FOR_THE_DESTINATION.sql

Importer un dump

Se connecter en ssh à belenosau serveur, puis se rendre dans le répertoire /appli/mysqlrépertoire /mysql -gorg-prod-clu/shell et lancer ensuite la commande suivante :

Creer la base de données si elle n'existe pas déjà - si elle existe déjà et qu'elle doit être écrasée passer à l'étape suivante:

Bloc de code
languagebash
themeEmacsMidnight
cd /appli/mysql/mysql-gorg-prod-clu/shell

mysql --defaults-file=/appli/mysql/mysql-gorg-prod-clu/config/my.cnf -uroot -p`cat ../config/.mysql-passwd` SQL_u root -p -e "CREATE DATABASE DB_NAME"
Bloc de code
languagebash
themeMidnight
cd /mysql
mysql -u root -p DB_NAME < PATH_FOR_THE_DESTINATION.sql

...

Bloc de code
languagebash
themeMidnight
cd /appli/mysql/mysql-gorg-prod-clu/shell
mysql --defaults-file=/appli/mysql/mysql-gorg-prod-clu/config/my.cnf -uroot -p`cat ../config/.mysql-passwd`u root -p --opt SQL_DB_NAME TABLE_NAME < PATH_FOR_THE_DESTINATION.sql
Info
titleSi le dump est compressé

gunzip -c dump.sql.gz | mysql --defaults-file=/appli/mysql/mysql-gorg-prod-clu/config/my.cnf -uroot -p`cat ../config/.mysql-passwd` SQL_DB_NAME

ou

zcat dump.sql.gz | mysql --defaults-file=/appli/mysql/mysql-gorg-prod-clu/config/my.cnf -uroot -p`cat ../config/.mysql-passwd` SQL_DB_NAME

ou

cat dump.sql.gz | gunzip | mysql --defaults-file=/appli/mysql/mysql-gorg-prod-clu/config/my.cnf -uroot -p`cat ../config/.mysql-passwd` SQL_DB_NAME

Info
titleen utilisant PV (progress viewer)

non compressé : pv dump.sql | mysql --defaults-file=/appli/mysql/mysql-gorg-prod-clu/config/my.cnf -uroot -p`cat ../config/.mysql-passwd` SQL_DB_NAME
compressé : pv dump.sql.gz | gunzip | mysql --defaults-file=/appli/mysql/mysql-prod-mac-clu/config/my.cnf -uroot -p`cat ../config/.mysql-passwd` SQL_DB_NAME

Description des commandes

mysqldump

fichier de configuration de l'instance (path, nom, port...)

login avec user root

emplacement du passwd

argument lock des tables et optimisations

nom de la base SQL

sélecteur export ou import

nom et path du fichier de dump

Link utile

...

Liens utiles

Descriptions des options et arguments possible :

...

Pour spécifier une ou plusieurs tables : 

 db_name table1_name table2_name table3_name

Pour ignorer une table : 

...


Réparation des databases/tables

Se connecter en ssh à belenos, puis se rendre dans le répertoire /appli/mysqlrépertoire /mysql -gorg-prod-clu/shell et lancer ensuite la commande suivante :

Bloc de code
languagebash
themeEmacs
cd /appli/mysql/mysql-gorg-prod-clu/shell
mysqlcheck --defaults-file=/appli/mysql/mysql-gorg-prod-clu/config/my.cnf -uroot -p`cat ../config/.mysql-passwd`u root -p --auto-repair --check --all-databases

...

Bloc de code
languagebash
themeEmacs
cd /appli/mysql/mysql-gorg-prod-clu/shell
mysqlcheck -u root -defaults-file=/appli/mysql/mysql-gorg-prod-clu/config/my.cnf -uroot -p`cat ../config/.mysql-passwd` --all-databases -op--all-databases -o

Lien utile : https://dev.mysql.com/doc/refman/8.0/en/mysqlcheck.html