Aujourd'hui, j'ai vérifié que le disque du serveur était presque plein, j'ai donc cherché la raison. Deux raisons ont été trouvées :
1. Le fichier mysql-bin.000001 est nombreux et volumineux
mysql> reset master;
Exécutez la commande ci-dessus pour effacer le journal ;
2 Le fichier ibdata1 du répertoire MySQL est trop volumineux ; ;
1. Sauvegardez les données dans la base de données.
mysqldump -u root -p --extended-insert --all-databases --add-drop-database --disable-keys --flush-privileges --quick --routines --triggers > /home/all-database.sql //有的文档用的是这样的参数: mysqldump -q -uroot -p --add-drop-table --all-databases --events >/home/all-database.sql
Si ibdata1 fait des centaines de Go, le processus de sauvegarde peut prendre plusieurs heures.
2. Arrêtez le service MySQL.
service mysql stop
3. Supprimez ibdata1, ib_logfile* et autres fichiers
mv ibdata1 ibdata1.20160419 mv ib_logfile0 ib_logfile0.20160420 mv ib_logfile1 ib_logfile1.20160420
4. Modifiez le fichier de configuration my.cnf
vi /etc/mysql/my.cnf
Ajoutez la configuration suivante sous la sous-clé [mysqld] :
innodb_file_per_table = 1
6. Service MySQL
service mysql start ps -ef|grep mysql
7. Récupérer des données (réimporter des données)
mysql -u root -p Enter password: source /home/all-databaes.sql