Au fur et à mesure que les données stockées dans la base de données MySQL deviennent progressivement plus volumineuses, l'espace d'origine pour stocker les données a été rempli, ce qui a entraîné la non-connexion de MySQL. Par conséquent, nous devons changer l'endroit où les données stockées sont stockées. L'éditeur ci-dessous partagera avec vous la solution pour changer l'emplacement de stockage des données de la base de données dans MySQL 5.7. Jetons un coup d'œil
Comme les données. stocké dans la base de données MySQL devient progressivement plus grand, l'espace d'origine pour stocker les données est plein, ce qui empêche MySQL de se connecter. Il est donc nécessaire de changer l’endroit où les données sont stockées. Voici quelques étapes du processus. Prenez-en note et relisez-le plus tard.
1. Modifiez le répertoire dans lequel les données MySQL sont stockées.
Il y a deux endroits à modifier. L'un consiste à modifier le répertoire de données dans le fichier /etc/my.cnf. . Par défaut :
datadir=/var/lib/mysql
Comme mon répertoire /data/ est relativement volumineux, je l'ai modifié en :
datadir=/data/mysql/
Modifiez également le fichier /etc/init.d/mysqld
, remplacez datadir=”$result”
Remplacez par :
datadir=”/data/mysql”
2. Arrêtez le service mysql
service mysql stop
3. Créez un nouveau répertoire de stockage de données
mkdir /data/mysql
4. Déplacez les données vers le nouveau répertoire de stockage de la base de données
mv /usr/local/mysql/data/* /data/mysql
Ajoutez ici quelques connaissances sur le moteur innoDB et le moteur MyISAM. les fichiers de données sont différents.
Pour le moteur MyISAM, les fichiers de données sont stockés dans le répertoire "/var/lib/mysql" avec trois fichiers : "*.frm", "*.MYD" et " *.MYI" dans le dossier de base de données correspondant sous . Déplacez simplement ces fichiers directement vers le nouveau répertoire de stockage de données.
Pour le moteur innoDB, les données sont stockées dans le fichier "$innodb_data_home_dir” 的ibdata1
(généralement), et le fichier de structure existe dans table_name.frm.
5. Modifier le mysql autorisations du répertoire de base de données Et fichier de configuration
chown mysql:mysql -R /data/mysql/
6. Modifier le socket
Modifier le socket à deux endroits, /etc/my .cnf
socket=/data/mysql/mysql.sock
Créez un fichier de connexion à /var/lib/mysql/mysql.sock
ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock
7. Redémarrez le service mysql
Exécutez
service mysql restart
pour démarrer les opérations de lecture et d'écriture sur la base de données, et avez trouvé ce problème :
Lecture et écriture :
ERROR 1146 (42S02): Table ** doesn't exist
Création d'une table :
ERROR 1005 (HY000): Can't create table ‘runoob_tbl' (errno: 13)
Solution :
Dans le répertoire /data/mysql, supprimez le fichier ib_logfile*, afin que la table du moteur innoDB être normal.
Exécuter à nouveau
mysql> REPAIR TABLE ***;
Pour les tables avec un volume de données important, ce processus peut être plus lent. Une fois l'exécution terminée, la table du moteur MyISAM sera normale.
Sujets liés à MySQL. Les amis dans le besoin peuvent se référer àOpérations de base de données dans MySQLRésumé des connaissances
Démarrage de MySQLTutoriel
Rapport d'erreurs MySQL et solutionMéthode de fonctionnement du mot de passe racine MySQL[Recommandations associées]1 2.Explication détaillée de la façon d'importer du Big Data MySQL dans Navicat et de signaler les erreurs
3Explication détaillée d'exemples de déverrouillage et de verrouillage de tables dans MYSQL.
4.Comment améliorer la vitesse d'interrogation de la base de données pour des millions d'éléments
55 erreurs courantes de conception de base de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!