首页 > 解决方案 > MySQL 5.6 默认存储引擎是 MyISAM 而不是 InnoDB

问题描述

我是新来的,我希望有人能帮助我解决MySQL问题。

在这里,我遇到奇怪的情况,即InnoDB不是默认存储引擎:

我已经尝试了几乎所有将 InnoDB 作为默认引擎的解决方案,但它确实对我有用。

以下是我尝试过的几件事:

步骤1

files my.cnf and my.ini. has been edited in /root/my.cnf and /root/my.ini and /etc/my.cnf as:

[mysqld]
character-set-server=utf8
collation-server=utf8_bin
default-storage-engine=INNODB
max_allowed_packet=256M
innodb_log_file_size=2GB
transaction-isolation=READ-COMMITTED
binlog_format=row

保存文件后的第 2 步我确实以几种方式重新启动了 MySQL:

Following commands DID NOT work:

# /etc/init.d/mysqld stop:  No such file or directory  
# /etc/init.d/mysql stop:  No such file or directory 
# service mysqld stop
Redirecting to /bin/systemctl start mysql.service
Failed to start mysqld.service: Unit not found.

Following commands DID work:

# service mysql stop
Redirecting to /bin/systemctl start mysql.service
# service mysql status (was Active: inactive (dead))
# service mysql start
Redirecting to /bin/systemctl start mysql.service
# service mysql status (was Active: active (running))

第 3 步

 mysql> SHOW ENGINES;
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | Engine             | Support | Comment                                                        
    | Transactions | XA   | Savepoints |
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | FEDERATED          | NO      | Federated MySQL storage engine                                 
    | NULL         | NULL | NULL       |
    | MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          
    | NO           | NO   | NO         |
    | MyISAM             | DEFAULT | MyISAM storage engine                                          
    | NO           | NO   | NO         |
    | BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
    | CSV                | YES     | CSV storage engine                                             
    | NO           | NO   | NO         |
    | MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
    | ARCHIVE            | YES     | Archive storage engine                                         
    | NO           | NO   | NO         |
    | InnoDB             | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
    | PERFORMANCE_SCHEMA | YES     | Performance Schema                                             
    | NO           | NO   | NO         |
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    9 rows in set (0.00 sec)

    mysql>

第 4 步我尝试了以下命令,最后我将 InnoDB 设置为默认值,但仍然无法正常工作,因为一旦你重置 mysqld,它就会返回 MyISAM 为默认值

SET default_storage_engine=INNODB;

这真是令人沮丧,您的帮助将不胜感激

标签: mysqlinnodbcentos7systemd

解决方案


可以通过执行以下步骤:导航到 > phpmyadmin -> Home-> variables -> storage engine 并将其 MyISAM 更改为 InnoDB

看图片

在此处输入图像描述


推荐阅读