MAMP Pro MySQL 将数据库引擎更改为 InnoDB 并迁移数据库时出现问题

MAMP Pro MySQL issue with changing database engine to InnoDB and migrating databases

我在 El Capitan 运行ning 上安装了 MAMP Pro。到现在为止一切都很好,但我 运行 遇到了问题。我混合使用多种数据库,一些使用 MyISAM 引擎,另一些使用 InnoDB。我真的不知道那是怎么回事。我猜如果有些是InnoDB,引擎默认还是MyISAM。问题在于我为 Atlassians Confluence 和 JIRA 使用的数据库。在 Confluence 中,一切都很好,但它说:

您应该将 innodb_log_file_size 增加到 256M

我尝试使用 my.cnf,但 运行 遇到了问题。我恢复了东西,这些是配置中的相关部分。

[mysqld]
#port       = 9999
socket      = /Applications/MAMP/tmp/mysql/mysql.sock
key_buffer_size = 64M
max_allowed_packet = 512M

# table_cache only works for MySQL 5.5.x
#table_cache = 64

# If you are running MySQL 5.6.x, use table_open_cache.
#table_open_cache = 64

sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 32M

#Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /Applications/MAMP/db/mysql/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /Applications/MAMP/db/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 128M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 512M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

当我取消注释 InnoDB 部分时,服务器崩溃并且数据库损坏。

只是想知道如何为 MAMP 打开 InnoDB(如果推荐的话)并同时更新我现有的数据库,即 MyISAM 数据库和 InnoDB 数据库。

虽然我正在做这件事,但我可能想将 MAMP 升级到较新的 MySQL 版本,也许稍后。

你有多少内存?

max_allowed_packet 保持在 RAM 的 2% 以下。

由于您同时使用 MyISAM 和 InnoDB,因此将 innodb_buffer_pool_size 设置为大约 1/3 的 RAM,除非;如果您的系统很小,则更少。

如无进一步说明,请勿更改 innodb_log_file_size。也就是说,如果尚未设置,请不要在 my.cnf 中设置它。

MyISAM 和 InnoDB 可以共存。