Procédure pour importer ou exporter un dump de base MySQL sur le serveur SQL Belenos
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 à belenos, puis se rendre dans le répertoire /mysql et lancer ensuite la commande suivante :
- Pour effectuer le dump de toutes les bases :
cd /mysql mysqldump -u root -p --all-databases > PATH_FOR_THE_DESTINATION.sql
- Pour effectuer le dump d'une ou plusieurs base(s) spécifique :
cd /mysql mysqldump -u root -p --databases DB_NAME_1 DB_NAME_2 > PATH_FOR_THE_DESTINATION.sql
- Pour effectuer un dump d'une table spécifique seulement :
cd /mysql mysqldump -u root -p --opt SQL_DB_NAME TABLE_NAME > PATH_FOR_THE_DESTINATION.sql
Importer un dump
Se connecter en ssh à belenos, puis se rendre dans le répertoire /appli/mysql/mysql-gorg-prod-clu/shell et lancer ensuite la commande suivante :
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_DB_NAME < PATH_FOR_THE_DESTINATION.sql
Pour effectuer l'import d'une seule table :
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` --opt SQL_DB_NAME TABLE_NAME < PATH_FOR_THE_DESTINATION.sql
Si 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
en 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
Descriptions des options et arguments possible : https://mariadb.com/kb/en/mariadb/mysqldump/
Pour spécifier une ou plusieurs tables :
db_name table1_name table2_name table3_name
Pour ignorer une table :
--ignore-table=<database>.<table>
Réparation des databases/tables
Se connecter en ssh à belenos, puis se rendre dans le répertoire /appli/mysql/mysql-gorg-prod-clu/shell et lancer ensuite la commande suivante :
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` --auto-repair --check --all-databases
Pour lancer une optimisation des databases :
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` --all-databases -o