Maison  >  Article  >  base de données  >  Exemple détaillé de Mysql 5.7 de modification de l'emplacement de stockage des données de la base de données

Exemple détaillé de Mysql 5.7 de modification de l'emplacement de stockage des données de la base de données

Y2J
Y2Joriginal
2017-05-22 14:41:512689parcourir

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 solution

Méthode de fonctionnement du mot de passe racine MySQL

[Recommandations associées]

1

Tutoriel vidéo gratuit MySQL

2.

Explication détaillée de la façon d'importer du Big Data MySQL dans Navicat et de signaler les erreurs

3

Explication 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

5

5 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn