Heim > Datenbank > MySQL-Tutorial > Hauptteil

MySQL ersetzt die MyISAM-Speicher-Engine durch die gemeinsame Nutzung von Beispielcode für Innodb-Vorgangsdatensätze

黄舟
Freigeben: 2017-03-23 13:40:23
Original
1436 Leute haben es durchsucht

Der folgende Editor liefert Ihnen eine Zusammenfassung der Betriebsaufzeichnungen von Mysql, das die MyISAM-Speicher-Engine durch Innodb ersetzt. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf

Im Allgemeinen stellt MySQL standardmäßig mehrere Speicher-Engines bereit, die wie folgt angezeigt werden können:

1) Überprüfen Sie, ob MySQL das Innodb-Plugin installiert hat.

Aus den folgenden Befehlsergebnissen ist ersichtlich, dass das Innodb-Plug-In installiert wurde.

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)
Nach dem Login kopieren

---------------------------------------------------- --- --------------------------------
Wenn Sie feststellen, dass das innodb-Plug-in nicht installiert ist, können Sie die folgende Anweisung Installation ausführen:

mysql> install plugin innodb soname 'ha_innodb.so';
Nach dem Login kopieren

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

2) Überprüfen Sie, welche Speicher-Engine MySQL derzeit bereitstellt:

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)
Nach dem Login kopieren

3) Überprüfen Sie die aktuelle Standard-Speicher-Engine von mysql:

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

4) Überprüfen Sie, welche Engine eine bestimmte Tabelle verwendet (diejenige nach dem Parameter engine in den angezeigten Ergebnissen gibt die derzeit verwendete Speicher-Engine an die Tabelle):

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)
Nach dem Login kopieren

5) So importieren Sie die MyISAM-Bibliothek in das INNODB-Engine-Format:

Ersetzen Sie alle ENGINE=MyISAM durch ENGINE=INNODB
in der gesicherten xxx.sql-Datei und importieren Sie sie erneut.

6) Befehl zum Konvertieren der Tabelle:

mysql>alter table table name engine=innodb;

Wie Sie oben sehen können, ist die von MySQL auf diesem Computer verwendete Speicher-Engine die Standard-MyISAN. Aus geschäftlichen Gründen muss die Speicher-Engine zuerst auf Innodb geändert werden.

Der Vorgangsdatensatz lautet wie folgt:

1) Schließen Sie MySQL im abgesicherten Modus

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

2) Sichern Sie my.cnf

[root@dev mysql5.1.57]# cp my.cnf my.cnf.old
Nach dem Login kopieren

3 ) Ändern Sie meine. cnfKonfigurationsdatei

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

4) Löschen Sie die /mysql/data-Verzeichnis ib_logfile0, ib_logfile1 unter. An anderer Stelle löschen oder ausschneiden.

[root@dev var]# mv ib_logfile0 ib_logfile1 /tmp/back/
Nach dem Login kopieren

5) Starten Sie MySQL, melden Sie sich bei MySQL an, um zu überprüfen, ob die Speicher-Engine umgeschaltet wurde

[root@dev var]# /Data/app/mysql5.1.57/bin/mysqld_safe --defaults-file=/Data/app/mysql5.1.57/my.cnf &
Nach dem Login kopieren
mysql> show variables like '%storage_engine%'; 
+----------------+--------+ 
| Variable_name | Value | 
+----------------+--------+ 
| storage_engine | InnoDB | 
+----------------+--------+ 
1 row in set (0.00 sec)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonMySQL ersetzt die MyISAM-Speicher-Engine durch die gemeinsame Nutzung von Beispielcode für Innodb-Vorgangsdatensätze. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!