13

我在 my.cnf 文件中添加了“skip_innodb”行以禁用 innodb 并重新启动 mysqld。但是,它在数据库中不起作用。有没有其他解决方案?

4

5 回答 5

34

如果您使用的是 MySql 5.5 或更高版本,

ignore-builtin-innodb

default-storage-engine = myisam

在下面

[mysqld]

/etc/my.cnf

于 2012-08-02T07:19:45.980 回答
9

skip-innodb在下添加然后[mysqld]MySQL服务器my.cnfrestart

查看 mysql 日志文件是否成功使用tail -100 log_file_name_with_full_path

使用以下查询进行验证:

SHOW ENGINES;
于 2012-08-02T07:13:27.690 回答
9

尝试

innodb=OFF
default-storage-engine=MyISAM

MyISAM 只是一个示例,您可以选择任何您想要的内容您可以在此处阅读更多信息http://www.webhostingtalk.com/showthread.php?t=1052143

于 2012-08-02T07:23:23.870 回答
7

为了mysql 5.6+

我在尝试应用其他答案时遇到了困难。这是我发现最好的mysql 5.6.19

1) 编辑/etc/mysql/my.cnf

-- 重要- 将这些值放在[mysqld]

# ... other settings
[mysqld]

innodb=OFF
loose-innodb-trx=0
loose-innodb-locks=0
loose-innodb-lock-waits=0
loose-innodb-cmp=0
loose-innodb-cmp-per-index=0
loose-innodb-cmp-per-index-reset=0
loose-innodb-cmp-reset=0
loose-innodb-cmpmem=0
loose-innodb-cmpmem-reset=0
loose-innodb-buffer-page=0
loose-innodb-buffer-page-lru=0
loose-innodb-buffer-pool-stats=0
loose-innodb-metrics=0
loose-innodb-ft-default-stopword=0
loose-innodb-ft-inserted=0
loose-innodb-ft-deleted=0
loose-innodb-ft-being-deleted=0
loose-innodb-ft-config=0
loose-innodb-ft-index-cache=0
loose-innodb-ft-index-table=0
loose-innodb-sys-tables=0
loose-innodb-sys-tablestats=0
loose-innodb-sys-indexes=0
loose-innodb-sys-columns=0
loose-innodb-sys-fields=0
loose-innodb-sys-foreign=0
loose-innodb-sys-foreign-cols=0

default-storage-engine=MyISAM
default_tmp_storage_engine=MyISAM

# ...

2)重启mysql

sudo service mysql restart

资料来源:MySQL docs - 14.1.3 关闭 InnoDB


移民呢?

如果您想将现有数据库从迁移InnoDBMyISAM,上述原样不会影响现有表(并且会给您运行时错误)。

解决方案

有一个名为mysqldumpuses的实用程序将现有的数据库表+数据存储到文件中(SQL脚本)

1) 备份

mysqldump -u [user] -p[pass] [database name] > /tmp/backup.sql

2)/etc/mysql/my.cnf如上图改变

nano /etc/mysql/my.cnf

# ...
[mysqld]

innodb=OFF
loose-innodb-trx=0
loose-innodb-locks=0
# ...

3)重启mysql

sudo service mysql restart

4)从第一步重新加载数据

mysql -u [user] -p[pass] [database name] < /tmp/backup.sql
于 2015-05-18T07:34:32.080 回答
4

在 MySQL 5.5+ 中,所需的配置片段如下

[mysqld]
skip-innodb
default-storage-engine = myisam
于 2013-11-30T19:04:53.483 回答