【问题标题】:MAMP Pro MySQL issue with changing database engine to InnoDB and migrating databasesMAMP Pro MySQL 问题,将数据库引擎更改为 InnoDB 并迁移数据库
【发布时间】:2016-07-08 03:57:06
【问题描述】:

我在 El Capitan 上运行 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 部分时,服务器崩溃并且数据库损坏。

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

在此期间,我可能想将 MAMP 升级到较新的 MySQL 版本,也许稍后。

【问题讨论】:

    标签: mysql database innodb myisam mamp-pro


    【解决方案1】:

    你有多少内存?

    max_allowed_packet 保持在 RAM 的 2% 以下。

    由于您同时使用 MyISAM 和 InnoDB,请将 innodb_buffer_pool_size 设置为 RAM 的 1/3 左右,除非:如果您的系统很小,则更少。

    不要在没有进一步说明的情况下更改innodb_log_file_size。也就是my.cnf中没有设置就不要设置了。

    MyISAM 和 InnoDB 可以共存。

    【讨论】:

    • 感谢您的建议。我在 Mac 系统上有 32 GB 的 RAM,所以相当多。尽管它们使用的是 MAMP MySQL,但我从运行在我服务器上的 tomcat 上的 Atlasssian 应用程序中得到的主要是一条恼人的错误消息或警告。我可以试试。我知道您可以更改日志文件,但您必须删除旧的,小心并创建新的。我仍然不明白为什么当我取消注释服务器甚至无法启动的其他功能时。似乎它应该运行。也许 MAMP 4.0 版本会解决这个问题?
    • 所以innodb_buffer_pool_size可以大到10GB,千兆?
    • 我确实做了那个改变,它可能有助于提高性能,但我仍然从 Confluence 中得到这个错误:WarningInnoDB Log File Size 这个检查有什么作用?检查 MySQL 数据库中的 innodb_log_file_size 变量是否合适。结果 您的 innodb_log_file_size 5,242,880 太小。您应该将 innodb_log_file_size 增加到 256M。我该如何解决这个问题?
    • 我确实在 confluence 站点上看到了这个。 [链接][confluence.atlassian.com/doc/….我可以在创建数据库后进行这些调整吗?我有一个可以恢复的备份,所以如果它不起作用,我有一个后备。
    • 如果您将innodb_log_file_size 更改为重新启动前的状态,它会抱怨并拒绝启动。这是为数不多的有危险改变的事情之一。更改是multi-step process
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 2017-03-26
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 2021-01-09
    相关资源
    最近更新 更多