visiblevc / wordpress-starter

A slightly less shitty wordpress development workflow
688 stars 167 forks source link

mysql:5.7 hangs on waiting for MySQL to initialize #151

Open martintburgess opened 5 years ago

martintburgess commented 5 years ago

Overview

Thanks for a great repo. I am trying to run /example/docker-compose.yml using mysql:5.7 instead of mariadb:10 This is the only change to the docker-compose.yml. Installation doesn't get past "Waiting for MySQL to initialize...", just hangs there.

Issue does not occur with mariadb:10

mac os x 10.14.2 docker version 18.09.0

docker-compose.yml

version: "3"
services:
    wordpress:
        image: visiblevc/wordpress

        # required for mounting bindfs
        cap_add:
            - SYS_ADMIN
        devices:
            - /dev/fuse
        # required on certain cloud hosts
        security_opt:
            - apparmor:unconfined

        ports:
            - 8080:80
            - 443:443
        volumes:
            - ./data:/data
            - ./scripts:/docker-entrypoint-initwp.d
        environment:
            DB_NAME: wordpress
            DB_PASS: root
            PLUGINS: >-
                academic-bloggers-toolkit
                co-authors-plus
                [WP-API]https://github.com/WP-API/WP-API/archive/master.zip

    db:
        image: mysql:5.7 # mariadb:10 
        volumes:
            - data:/var/lib/mysql
        environment:
            MYSQL_ROOT_PASSWORD: root

    phpmyadmin:
        image: phpmyadmin/phpmyadmin
        ports:
            - 22222:80

volumes:
    data:

Project structure

same as /example

docker-compose up output

wordpress_1   | ======================================================================
wordpress_1   |                     Begin WordPress Installation                    
wordpress_1   | ======================================================================
wordpress_1   | ==> Downloading WordPress
wordpress_1   |          Downloading WordPress 5.0.1 (en_US)...
wordpress_1   |          md5 hash verified: ae286aad683f26c19ce3e4cff91b5661
wordpress_1   | Success: WordPress downloaded.
wordpress_1   | ==> Waiting for MySQL to initialize...
dsifford commented 5 years ago

@martintburgess Can you explain further what the issue is you're having. The output I'm seeing looks correct.

martintburgess commented 5 years ago

@dsifford the installation doesn't get past this point. Waited considerable time (15 minutes or more) and was stuck there.

dsifford commented 5 years ago

Ah... ok got it. Not sure why, but I will confess that I generally always use MariaDB... I'll check into this tomorrow.

martintburgess commented 5 years ago

TBH, I'm a wordpress newbie and don't have a preference either way. I thought you should be aware of it because the docker-compose.yml has: # or mysql:5.7 Thanks for your quick replies.

dsifford commented 5 years ago

No worries. I appreciate you reaching out. They should in theory both be backwards compatible with each other so it's a bit strange that this would occur.

dsifford commented 5 years ago

Finally got around to trying this and I can't reproduce. Is this still giving you trouble @martintburgess?

martintburgess commented 5 years ago

@dsifford Just tried removing all my containers and images as well as recloning the wordpress-starter repo - still doesn't get past ==> Waiting for MySQL to initialize.... I'm happy to use a mariadb, so it's no trouble for me.

dsifford commented 5 years ago

Hm... very odd. Perhaps it has something to do with the machine you're on?

I'll leave this issue open for now until we can get another person who runs into this to chime in.

jiverson commented 4 years ago

Probably just need to change the port in the db section since you may have mysql already installed on your local machine.

...
db:
    image: mariadb:10 # or mysql:5.7
    ports:
        - 3307:3306 # change ip if required
...
simplenotezy commented 4 years ago

I have the same error. Seems not to be related to ports. The error:

InnoDB: Unsupported redo log format. The redo log was created with MariaDB 10.4.12. Please follow the instructions at http://dev.mysql.com/doc/refman/5.7/en/upgrading-downgrading.html

Heres the output:

[constantsolutions:...rs/website/example]$ docker-compose up -d && docker-compose logs -f db

Starting example_db_1         ... done
Starting example_wordpress_1  ... done
Starting example_phpmyadmin_1 ... done
Attaching to example_db_1
db_1          | 2020-02-07 14:01:05+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.29-1debian9 started.
db_1          | 2020-02-07 14:01:06+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
db_1          | 2020-02-07 14:01:06+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.29-1debian9 started.
db_1          | 2020-02-07T14:01:06.575486Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
db_1          | 2020-02-07T14:01:06.577671Z 0 [Note] mysqld (mysqld 5.7.29) starting as process 1 ...
db_1          | 2020-02-07T14:01:06.583029Z 0 [Note] InnoDB: PUNCH HOLE support available
db_1          | 2020-02-07T14:01:06.583226Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
db_1          | 2020-02-07T14:01:06.583338Z 0 [Note] InnoDB: Uses event mutexes
db_1          | 2020-02-07T14:01:06.583419Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
db_1          | 2020-02-07T14:01:06.583481Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
db_1          | 2020-02-07T14:01:06.583577Z 0 [Note] InnoDB: Using Linux native AIO
db_1          | 2020-02-07T14:01:06.584003Z 0 [Note] InnoDB: Number of pools: 1
db_1          | 2020-02-07T14:01:06.584388Z 0 [Note] InnoDB: Using CPU crc32 instructions
db_1          | 2020-02-07T14:01:06.586495Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
db_1          | 2020-02-07T14:01:06.606301Z 0 [Note] InnoDB: Completed initialization of buffer pool
db_1          | 2020-02-07T14:01:06.611773Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
db_1          | 2020-02-07T14:01:06.626681Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
db_1          | 2020-02-07T14:01:06.627073Z 0 [ERROR] InnoDB: Unsupported redo log format. The redo log was created with MariaDB 10.4.12. Please follow the instructions at http://dev.mysql.com/doc/refman/5.7/en/upgrading-downgrading.html
db_1          | 2020-02-07T14:01:06.627209Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
db_1          | 2020-02-07T14:01:07.228573Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
db_1          | 2020-02-07T14:01:07.228601Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
db_1          | 2020-02-07T14:01:07.228607Z 0 [ERROR] Failed to initialize builtin plugins.
db_1          | 2020-02-07T14:01:07.228610Z 0 [ERROR] Aborting
db_1          |
db_1          | 2020-02-07T14:01:07.228615Z 0 [Note] Binlog end
db_1          | 2020-02-07T14:01:07.228724Z 0 [Note] Shutting down plugin 'CSV'
db_1          | 2020-02-07T14:01:07.231696Z 0 [Note] mysqld: Shutdown complete
db_1          |
db_1          | 2020-02-07 14:02:28+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.29-1debian9 started.
db_1          | 2020-02-07 14:02:28+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
db_1          | 2020-02-07 14:02:28+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.29-1debian9 started.
db_1          | 2020-02-07T14:02:29.144562Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
db_1          | 2020-02-07T14:02:29.147252Z 0 [Note] mysqld (mysqld 5.7.29) starting as process 1 ...
db_1          | 2020-02-07T14:02:29.152947Z 0 [Note] InnoDB: PUNCH HOLE support available
db_1          | 2020-02-07T14:02:29.153035Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
db_1          | 2020-02-07T14:02:29.153058Z 0 [Note] InnoDB: Uses event mutexes
db_1          | 2020-02-07T14:02:29.153118Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
db_1          | 2020-02-07T14:02:29.153135Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
db_1          | 2020-02-07T14:02:29.153215Z 0 [Note] InnoDB: Using Linux native AIO
db_1          | 2020-02-07T14:02:29.153551Z 0 [Note] InnoDB: Number of pools: 1
db_1          | 2020-02-07T14:02:29.153753Z 0 [Note] InnoDB: Using CPU crc32 instructions
db_1          | 2020-02-07T14:02:29.156043Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
db_1          | 2020-02-07T14:02:29.172198Z 0 [Note] InnoDB: Completed initialization of buffer pool
db_1          | 2020-02-07T14:02:29.175479Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
db_1          | 2020-02-07T14:02:29.193284Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
db_1          | 2020-02-07T14:02:29.193491Z 0 [ERROR] InnoDB: Unsupported redo log format. The redo log was created with MariaDB 10.4.12. Please follow the instructions at http://dev.mysql.com/doc/refman/5.7/en/upgrading-downgrading.html
db_1          | 2020-02-07T14:02:29.193585Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
db_1          | 2020-02-07T14:02:29.794886Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
db_1          | 2020-02-07T14:02:29.794916Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
db_1          | 2020-02-07T14:02:29.794922Z 0 [ERROR] Failed to initialize builtin plugins.
db_1          | 2020-02-07T14:02:29.794926Z 0 [ERROR] Aborting
db_1          |
db_1          | 2020-02-07T14:02:29.794941Z 0 [Note] Binlog end
db_1          | 2020-02-07T14:02:29.795051Z 0 [Note] Shutting down plugin 'CSV'
db_1          | 2020-02-07T14:02:29.798699Z 0 [Note] mysqld: Shutdown complete
db_1          |
example_db_1 exited with code 1

The db contents of docker:

db:
    image: mysql:5.7 # or mariadb:10
    ports:
        - 3307:3306
    volumes:
        - data:/var/lib/mysql
    environment:
        MYSQL_ROOT_PASSWORD: root
claudiorivera commented 3 years ago

Thanks for the great repo! Got spun up with MariaDB without issues.

Unfortunately, I'm also having trouble using MySQL instead of MariaDB. From a fresh clone, I replaced mariadb:10 with mysql:5.7, and the console logs get to Waiting for MySQL to initialize... and nothing outputs beyond that.

Here's the logs for the db container (which exited, while the wordpress and phpmyadmin containers kept running):

2021-01-05 00:11:20+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.32-1debian10 started.
2021-01-05 00:11:20+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2021-01-05 00:11:20+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.32-1debian10 started.
2021-01-05T00:11:20.436907Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-01-05T00:11:20.438511Z 0 [Note] mysqld (mysqld 5.7.32) starting as process 1 ...
2021-01-05T00:11:20.441825Z 0 [Note] InnoDB: PUNCH HOLE support available
2021-01-05T00:11:20.441864Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2021-01-05T00:11:20.441893Z 0 [Note] InnoDB: Uses event mutexes
2021-01-05T00:11:20.441899Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2021-01-05T00:11:20.441907Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2021-01-05T00:11:20.441914Z 0 [Note] InnoDB: Using Linux native AIO
2021-01-05T00:11:20.442213Z 0 [Note] InnoDB: Number of pools: 1
2021-01-05T00:11:20.442402Z 0 [Note] InnoDB: Using CPU crc32 instructions
2021-01-05T00:11:20.443746Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2021-01-05T00:11:20.458957Z 0 [Note] InnoDB: Completed initialization of buffer pool
2021-01-05T00:11:20.464715Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
00:11:20 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.
Attempting to collect some information that could help diagnose the problem.
As this is a crash and something is definitely wrong, the information
collection process might 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 = 68196 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x0
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 = 0 thread_stack 0x40000
mysqld(my_print_stacktrace+0x2c)[0x55bb84e7de7c]
mysqld(handle_fatal_signal+0x501)[0x55bb84794f01]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12730)[0x7f0221649730]
mysqld(_Z11ut_crc32_hwPKhm+0xd9)[0x55bb85198e39]
mysqld(_Z22page_zip_calc_checksumPKvm24srv_checksum_algorithm_tb+0x77)[0x55bb850b24d7]
mysqld(_Z24page_zip_verify_checksumPKvm+0xa8)[0x55bb850b25f8]
mysqld(_Z21buf_page_is_corruptedbPKhRK11page_size_tb+0x35a)[0x55bb851da0ea]
mysqld(_ZN8Datafile19validate_first_pageEPmb+0x431)[0x55bb852616d1]
mysqld(_ZN13SysTablespace24read_lsn_and_check_flagsEPm+0x78)[0x55bb85267ea8]
mysqld(_ZN13SysTablespace14open_or_createEbbPmS0_+0x372)[0x55bb85269a62]
mysqld(_Z34innobase_start_or_create_for_mysqlv+0x2630)[0x55bb85151a40]
mysqld(+0xf88640)[0x55bb85023640]
mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x55)[0x55bb847e6025]
mysqld(+0xbe0906)[0x55bb84c7b906]
mysqld(_Z40plugin_register_builtin_and_init_core_sePiPPc+0x1dc)[0x55bb84c7d7dc]
mysqld(+0x6f2e8e)[0x55bb8478de8e]
mysqld(_Z11mysqld_mainiPPc+0x758)[0x55bb8478f338]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb)[0x7f022111109b]
mysqld(_start+0x2a)[0x55bb84785c3a]
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.

I'm on Big Sur 11.1. There are no other containers running, and no local versions of WordPress or MySQL running.