2016-09-05 2 views
5

Я только что обновил MAMP 3 до MAMP 4, и MySQL больше не запускается.MySQL MAMP 4 не запускается

Файл журнала ошибок имеет это снова и снова:

160905 11:22:17 mysqld_safe mysqld restarted 
2016-09-05 11:22:17 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 
2016-09-05 11:22:17 0 [Note] /Applications/MAMP/Library/bin/mysqld (mysqld 5.6.28) starting as process 8122 ... 
2016-09-05 11:22:17 8122 [Warning] Setting lower_case_table_names=2 because file system for /Applications/MAMP/db/mysql56/ is case insensitive 
2016-09-05 11:22:17 8122 [Note] Plugin 'FEDERATED' is disabled. 
2016-09-05 11:22:17 8122 [Note] InnoDB: Using atomics to ref count buffer pool pages 
2016-09-05 11:22:17 8122 [Note] InnoDB: The InnoDB memory heap is disabled 
2016-09-05 11:22:17 8122 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 
2016-09-05 11:22:17 8122 [Note] InnoDB: Memory barrier is not used 
2016-09-05 11:22:17 8122 [Note] InnoDB: Compressed tables use zlib 1.2.8 
2016-09-05 11:22:17 8122 [Note] InnoDB: Not using CPU crc32 instructions 
2016-09-05 11:22:17 8122 [Note] InnoDB: Initializing buffer pool, size = 128.0M 
2016-09-05 11:22:17 8122 [Note] InnoDB: Completed initialization of buffer pool 
2016-09-05 11:22:17 8122 [Note] InnoDB: Highest supported file format is Barracuda. 
2016-09-05 11:22:17 8122 [Note] InnoDB: The log sequence numbers 280599913118 and 280599913118 in ibdata files do not match the log sequence number 280599917593 in the ib_logfiles! 
2016-09-05 11:22:17 8122 [Note] InnoDB: Database was not shutdown normally! 
2016-09-05 11:22:17 8122 [Note] InnoDB: Starting crash recovery. 
2016-09-05 11:22:17 8122 [Note] InnoDB: Reading tablespace information from the .ibd files... 
2016-09-05 11:22:18 8122 [Note] InnoDB: Restoring possible half-written data pages 
2016-09-05 11:22:18 8122 [Note] InnoDB: from the doublewrite buffer... 
2016-09-05 11:22:18 8122 [Note] InnoDB: 128 rollback segment(s) are active. 
2016-09-05 11:22:18 8122 [Note] InnoDB: 5.6.28 started; log sequence number 280599917593 
2016-09-05 11:22:18 8122 [Note] RSA private key file not found: /Applications/MAMP/db/mysql56//private_key.pem. Some authentication plugins will not work. 
2016-09-05 11:22:18 8122 [Note] RSA public key file not found: /Applications/MAMP/db/mysql56//public_key.pem. Some authentication plugins will not work. 
2016-09-05 11:22:18 8122 [Note] Server hostname (bind-address): '*'; port: 8889 
2016-09-05 11:22:18 8122 [Note] IPv6 is available. 
2016-09-05 11:22:18 8122 [Note] - '::' resolves to '::'; 
2016-09-05 11:22:18 8122 [Note] Server socket created on IP: '::'. 
10:22:18 UTC - mysqld got signal 11 ; 
This could be because you hit a bug. It is also possible that this binary 
or one of the libraries it was linked against is corrupt, improperly built, 
or misconfigured. This error can also be caused by malfunctioning hardware. 
We will try our best to scrape up some info that will hopefully help 
diagnose the problem, but since we have already crashed, 
something is definitely wrong and this may fail. 

key_buffer_size=8388608 
read_buffer_size=131072 
max_used_connections=0 
max_threads=151 
thread_count=0 
connection_count=0 
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 68101 K bytes of memory 
Hope that's ok; if not, decrease some variables in the equation. 

Thread pointer: 0x7fdf7b288400 
Attempting backtrace. You can use the following information to find out 
where mysqld died. If you see no messages after this, something went 
terribly wrong... 
stack_bottom = 7fff5eeb3870 thread_stack 0x40000 
0 mysqld        0x0000000101296688 my_print_stacktrace + 72 
1 mysqld        0x0000000100f5d9e8 handle_fatal_signal + 952 
2 libsystem_platform.dylib   0x00007fff8ac9952a _sigtramp + 26 
3 ???         0x00007fdf7b0b1170 0x0 + 140597818757488 
4 mysqld        0x0000000101181a13 _Z9get_fieldP11st_mem_rootP5Field + 99 
5 mysqld        0x0000000100f83cb1 _ZL8acl_loadP3THDP10TABLE_LIST + 1985 
6 mysqld        0x0000000100f82f5f _Z10acl_reloadP3THD + 1135 
7 mysqld        0x0000000100f82a55 _Z8acl_initb + 405 
8 mysqld        0x00000001011c0a9a _Z11mysqld_mainiPPc + 2298 
9 mysqld        0x0000000100d4db22 main + 34 
10 libdyld.dylib      0x00007fff8c2205ad start + 1 

Trying to get some variables. 
Some pointers may be invalid and cause the dump to abort. 
Query (0): is an invalid pointer 
Connection ID (thread ID): 0 
Status: NOT_KILLED 

The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains 
information that should help you find out what is causing the crash. 

Попытка запустить его вручную производит эту ошибку:

$ ./Library/bin/mysqld 
160905 11:24:33 [ERROR] Can't read from messagefile '/Applications/MAMP/Library/share/english/errmsg.sys' 
160905 11:24:33 [Warning] Can't create test file /Applications/MAMP/db/mysql/Joachims-iMac.lower-test 
160905 11:24:33 [Warning] Can't create test file /Applications/MAMP/db/mysql/Joachims-iMac.lower-test 
./Library/bin/mysqld: Can't change dir to '/Applications/MAMP/db/mysql/' (Errcode: 2) 
160905 11:24:33 [ERROR] Aborting 

Это заставляет меня думать, что это связано с системой MAMP 4 в для обновления моих старых баз данных из MAMP 3, которые находятся в/MAMP/db/mysql56 /, но сам процесс обновления выходит из строя с этой ошибкой:

Warning: Using a password on the command line interface can be insecure. 
Looking for 'mysql' as: /Applications/MAMP/Library/bin/mysql 
Looking for 'mysqlcheck' as: /Applications/MAMP/Library/bin/mysqlcheck 
Error: Failed while fetching Server version! Could be due to unauthorized access. 
FATAL ERROR: Upgrade failed 

Покопавшись в папке бин, я вижу сценарий бен/checkMysql.sh, который делает это:

$ /Applications/MAMP/Library/bin/mysqlcheck --all-databases --check --check-upgrade -u root -proot --socket=/Applications/MAMP/tmp/mysql/mysql.sock 
Warning: Using a password on the command line interface can be insecure. 
/Applications/MAMP/Library/bin/mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/Applications/MAMP/tmp/mysql/mysql.sock' (2) when trying to connect 

А также mysql_upgrade, который делает это:

$ /Applications/MAMP/Library/bin/mysql_upgrade -u root -proot --socket=/Applications/MAMP/tmp/mysql/mysql.sock --force --verbose 
Warning: Using a password on the command line interface can be insecure. 
Looking for 'mysql' as: /Applications/MAMP/Library/bin/mysql 
Looking for 'mysqlcheck' as: /Applications/MAMP/Library/bin/mysqlcheck 
Error: Failed while fetching Server version! Could be due to unauthorized access. 
FATAL ERROR: Upgrade failed 

Те, в сочетании выглядят как сообщения об ошибках Я видел на выходе консоли MAMP, когда пытался обновить мои базы данных.

ответ

3

Что установил ее для меня добавлял следующую строку в my.cnf из MAMP> Файл> Изменить шаблон> MySQL используется версия

innodb_force_recovery = 1 
2

я имел это точно проблема при обновлении с MAMP 3 до 4. В дополнение к ошибки, которые вы видите здесь, вы можете столкнуться с этим, а также:

1045 - Access denied for user 'root'@'localhost' (using password: YES)

Я считаю, что все автоматические инструменты модернизации предполагают, что вы никогда не меняли пароль MySQL по умолчанию для суперпользователя (пароль: корень).

Мое решение:

  1. Переустановка MAMP
  2. В терминале запустите /Applications/MAMP/Library/bin/mysqladmin -u root -p password
  3. Вам будет предложено старый пароль (не root), а затем обновить и подтвердить новый пароль root
  4. Запустите серверы MAMP и зайдите в Инструменты> Обновить базы данных MySQL
  5. (необязательно) верните свой пароль после обновления поэтому ваши существующие приложения не сломаются.

И вам должно быть хорошо.

Смежные вопросы