Wiki CgX

Parce que j'ai un cerveau, mais pas trop.

Outils pour utilisateurs

Outils du site


it:auto-hebergement:mysql

Ceci est une ancienne révision du document !


MySQL / MariaDB

Reconfigurer les accès root

…et virer la base test par défaut

sudo mysql_secure_installation

… et suivre les instructions

Dump de base + Gzip

mysqldump --add_drop_table -c -C -e -q -Q -u<user> -p"<password>" -B <BDDNAME> | gzip > dump.sql.gz

Lister les bases

mysql -u root -p"<password>" --skip-column-names -B -e "show databases" | grep -v "_schema" | grep -v "mysql"

Importer une base

Décompréssée

mysql -u root -p"<password>" < dump.sql

Gzippée

zcat dump.sql.gz | mysql -u root -p"<password>"

Processes en cours

mysql --password=<password> --user=root -e "show processlist\G" | grep Info | grep -v processlist | grep -v "Info: NULL";

Changer le moteur de toutes les tables d'une base

'name_of_your_db' = le nom de la db

SELECT  CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statements
FROM    information_schema.tables AS tb
WHERE   table_schema = 'name_of_your_db'
AND     `ENGINE` = 'MyISAM'
AND     `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;

Cette requête genère les commandes ALTER à exécuter par la suite :)

Repartir avec une base clean (et vide)

On stoppe le service et on efface tout le répertoire contenant les bases

systemctl stop mariadb
rm -fr /var/lib/mysql/*

On recréé le répertoire proprement et on redémarre le tout :

mysql_install_db --datadir=/var/lib/mysql --user=mysql
chown -R mysql:mysql /var/lib/mysql
systemctl start mariadb

Et on n'oublie pas de reconfigurer correctment les accès :

sudo mysql_secure_installation
it/auto-hebergement/mysql.1624262793.txt.gz · Dernière modification: 21 Jun 2021 :: 10:06 de CgX