मैं myISAM को innodb में परिवर्तित नहीं कर सकता - mysql, डेटाबेस, innodb, myisam

मैंने मिटा दिया और बहाल किया।

  1. मैंने अपने वर्तमान निर्दोष तालिकाओं का समर्थन किया। (Mysqldump)
  2. मैंने इसे डेटाबेस में लोड किया।
  3. किसी कारण से ... टेबल अब innodb के बजाय सभी myisam हैं ... अजीब!
  4. मैं करने की कोशिश करता हूं:

    वैकल्पिक तालिका xxx इंजन = innodb;

और यह किसी भी मेज पर कुछ भी नहीं करता है।

"तालिका दिखाएं स्थिति" अभी भी "MyISAM" है

mysql> alter table auth_user_user_permissions engine=innodb;
Query OK, 0 rows affected, 1 warning (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0



+------------+----------+----------------------------------------------------------------+
| Engine     | Support  | Comment                                                        |
+------------+----------+----------------------------------------------------------------+
| MyISAM     | DEFAULT  | Default engine as of MySQL 3.23 with great performance         |
| MEMORY     | YES      | Hash based, stored in memory, useful for temporary tables      |
| InnoDB     | DISABLED | Supports transactions, row-level locking, and foreign keys     |
| BerkeleyDB | NO       | Supports transactions and page-level locking                   |
| BLACKHOLE  | YES      | /dev/null storage engine (anything you write to it disappears) |
| EXAMPLE    | NO       | Example storage engine                                         |
| ARCHIVE    | YES      | Archive storage engine                                         |
| CSV        | YES      | CSV storage engine                                             |
| ndbcluster | DISABLED | Clustered, fault-tolerant, memory-based tables                 |
| FEDERATED  | DISABLED | Federated MySQL storage engine                                 |
| MRG_MYISAM | YES      | Collection of identical MyISAM tables                          |
| ISAM       | NO       | Obsolete storage engine                                        |
+------------+----------+----------------------------------------------------------------+



# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
#skip-innodb

innodb_buffer_pool_size = 10000M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size=1024M
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit = 0


mysql> alter table auth_group engine=innodb;
Query OK, 0 rows affected, 1 warning (0.05 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> show warnings;
+---------+------+----------------------------------------------------+
| Level   | Code | Message                                            |
+---------+------+----------------------------------------------------+
| Warning | 1266 | Using storage engine MyISAM for table "auth_group" |
+---------+------+----------------------------------------------------+
1 row in set (0.00 sec)

उत्तर:

उत्तर № 1 के लिए 10

मैं तुम्हारा देखता हूँ show engines आउटपुट जो आपके MySQL इंस्टॉल में InnoDB अक्षम है। आपको अपनी टेबल को MyISAM से InnoDB में कनवर्ट करने में सक्षम होने के लिए इसे सक्षम करने की आवश्यकता है।


संबंधित सवाल
सबसे लोकप्रिय