2016-07-08 59 views
0

我在運行El Capitan上安裝了MAMP Pro。直到現在一直很好,但我遇到了一個問題。我有一個混合的數據庫,一些使用MyISAM引擎,另一些使用InnoDB。我真的不知道那是如何工作的。我猜如果有一些是InnoDB,引擎默認仍然是MyISAM。問題出在我用於Atlassians Confluence和JIRA的數據庫上。 Confluence中,一切都很好,但它說:MAMP Pro MySQL數據庫引擎更改爲InnoDB和遷移數據庫的問題

你應該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的爲甲基苯丙胺,如果該建議,並更新現有的數據庫,MyISAM的那些和InnoDB的人。

,而我在這,我可能要MAMP升級到較新的MySQL版本,也許以後。

回答

0

你有多少RAM?

保持的RAM max_allowed_packet低於2%。

由於您使用MyISAM和InnoDB的,設置innodb_buffer_pool_size的RAM,除非約1/3;如果你有一個微小的系統,那麼更少

不要更改innodb_log_file_size沒有進一步的說明。也就是說,如果尚未設置,請不要在my.cnf中進行設置。

MyISAM和InnoDB可以共存。

+0

謝謝你的建議。我在Mac系統上有32 GB的RAM,所以相當多。這主要是一個煩人的錯誤信息或警告,我從我的服務器上的Tomcat上運行的Atlasssian應用程序中獲得,儘管它們使用的是MAMP MySQL。我可以嘗試。我知道你可以更改日誌文件,但是你必須刪除舊的文件,小心並且創建新文件。我仍然不明白爲什麼當我取消註釋服務器甚至不會啓動的其他功能時。似乎應該運行。也許4.0版本的MAMP將解決這個問題? – sscotti

+0

那麼innodb_buffer_pool_size可以大到10GB,Giga? – sscotti

+0

我做了一個改變,它可能有助於提高性能,但是我還是從合流這個錯誤: WarningInnoDB日誌文件大小 這是什麼檢查呢? 檢查MySQL數據庫中的innodb_log_file_size變量是否合適。 結果 您的innodb_log_file_size爲5,242,880太小。您應該將innodb_log_file_size增加到256M。 我該如何解決這個問題? – sscotti