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

时间:2016-07-08 03:57:07

标签: mysql database innodb myisam mamp-pro

我在El Capitan上跑MAMP Pro。到目前为止一切都很好,但我遇到了一个问题。我有混合数据库,有些使用MyISAM引擎,有些使用InnoDB。我真的不知道它是如何工作的。我猜如果有些是InnoDB,默认情况下Engine仍然是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部分时,服务器崩溃,数据库损坏。

只是想知道我如何启用InnoDB for MAMP,如果这是建议,并同时更新我现有的数据库,MyISAM和InnoDB。

虽然我很喜欢,但我可能希望将MAMP升级到更新的MySQL版本,也许稍后。

1 个答案:

答案 0 :(得分:0)

你有多少内存?

max_allowed_packet保持在RAM的2%以下。

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

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

MyISAM和InnoDB可以共存。