Maison  >  Article  >  base de données  >  Mysql remplace le moteur de stockage MyISAM par le partage d'exemples de code d'enregistrement d'opération Innodb

Mysql remplace le moteur de stockage MyISAM par le partage d'exemples de code d'enregistrement d'opération Innodb

黄舟
黄舟original
2017-03-23 13:40:231477parcourir

L'éditeur ci-dessous vous apportera un résumé des enregistrements d'opérations de Mysql remplaçant le moteur de stockage MyISAM par Innodb. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un coup d'œil

Généralement, MySQL fournira plusieurs moteurs de stockage par défaut, qui peuvent être consultés via les éléments suivants :

1) Vérifiez si mysql a installé le plug-in innodb.

Il ressort des résultats de la commande suivante que le plug-in innodb a été installé.

mysql> show plugins; 
+------------+--------+----------------+---------+---------+ 
| Name  | Status | Type   | Library | License | 
+------------+--------+----------------+---------+---------+ 
| binlog  | ACTIVE | STORAGE ENGINE | NULL | GPL  | 
| partition | ACTIVE | STORAGE ENGINE | NULL | GPL  | 
| CSV  | ACTIVE | STORAGE ENGINE | NULL | GPL  | 
| MEMORY  | ACTIVE | STORAGE ENGINE | NULL | GPL  | 
| InnoDB  | ACTIVE | STORAGE ENGINE | NULL | GPL  | 
| MyISAM  | ACTIVE | STORAGE ENGINE | NULL | GPL  | 
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL  | 
+------------+--------+----------------+---------+---------+ 
7 rows in set (0.00 sec)

-------------------------------------- --- --------------------------------
Si vous constatez que le plug-in innodb n'est pas installé, vous pouvez exécuter l'instruction suivante Installation :

mysql> install plugin innodb soname 'ha_innodb.so';

----------------------- ---------- --------------------------------

2) Vérifiez quel moteur de stockage MySQL fournit actuellement :

mysql> show engines; 
+------------+---------+------------------------------------------------------------+--------------+------+------------+ 
| Engine  | Support | Comment          | Transactions | XA | Savepoints | 
+------------+---------+------------------------------------------------------------+--------------+------+------------+ 
| MRG_MYISAM | YES  | Collection of identical MyISAM tables      | NO   | NO | NO   | 
| CSV  | YES  | CSV storage engine           | NO   | NO | NO   | 
| MyISAM  | DEFAULT | Default engine as of MySQL 3.23 with great performance  | NO   | NO | NO   | 
| InnoDB  | YES  | Supports transactions, row-level locking, and foreign keys | YES   | YES | YES  | 
| MEMORY  | YES  | Hash based, stored in memory, useful for temporary tables | NO   | NO | NO   | 
+------------+---------+------------------------------------------------------------+--------------+------+------------+ 
5 rows in set (0.00 sec)

3) Vérifiez le moteur de stockage par défaut actuel de mysql :

mysql> show variables like '%storage_engine%'; 
+----------------+--------+ 
| Variable_name | Value | 
+----------------+--------+ 
| storage_engine | MyISAM | 
+----------------+--------+ 
1 row in set (0.00 sec)

4) Vérifiez quel moteur une certaine table utilise (celui après le paramètre moteur dans les résultats affichés indique le moteur de stockage actuellement utilisé par la table):

mysql> show create table table name;

mysql> show create table wx_share_log; 
+--------------+----------------------------------------------------------------------------------------------------------------------------------+ 
| Table  | Create Table                   | 
+--------------+------------------------------------------------------------------------------------------------------------------------------------+ 
| wx_share_log | CREATE TABLE `wx_share_log` ( 
 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '微信分享日志自增ID', 
 `reference_id` int(11) NOT NULL COMMENT '推荐的经纪人id', 
 `create_time` datetime NOT NULL COMMENT '创建时间', 
 PRIMARY KEY (`id`) 
) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8     | 
+--------------+--------------------------------------------------------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec)

5) Comment importer la bibliothèque MyISAM au format du moteur INNODB :

Remplacez tous les ENGINE=MyISAM par ENGINE=INNODB
dans le fichier xxx.sql sauvegardé et importez-le à nouveau.

6) Commande pour convertir la table :

mysql>

Comme vous pouvez le voir ci-dessus, le moteur de stockage utilisé par MySQL sur cette machine est MyISAN par défaut. En raison des besoins de l'entreprise, le moteur de stockage doit d'abord être remplacé par Innodb.


L'enregistrement de l'opération est le suivant :

1) Fermez MySQL en mode sans échec

[root@dev mysql5.1.57]# mysqladmin -uroot -p shutdown
Enter password: 
[root@dev mysql5.1.57]# ps -ef|grep mysql

2) Sauvegarder mon.cnf

[root@dev mysql5.1.57]# cp my.cnf my.cnf.old

3 ) Modifier mon.cnfFichier de configuration

[root@dev mysql5.1.57]# vim my.cnf
.....
[mysqld]                                      
  //在这个配置区域添加下面一行,指定存储引擎为innodb
default-storage-engine = InnoDB

4) Supprimer le /mysql/data répertoire ib_logfile0, ib_logfile1 sous. Supprimer ou couper ailleurs.

[root@dev var]# mv ib_logfile0 ib_logfile1 /tmp/back/

5) Démarrez MySQL, connectez-vous à MySQL pour vérifier si le moteur de stockage a été changé

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