Skip to content

On OSX with volumes : InnoDB : Error 22 with aio_write #371

@vmonteco

Description

@vmonteco

Hello,

Here is what I get when I try to run :

docker run -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=dbname -d -v /path/to/vol:/var/lib/mysql  -p 32775:3306 mysql
Initializing database
2018-02-10T23:43:26.434351Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-02-10T23:43:26.438783Z 0 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
2018-02-10T23:43:27.727838Z 0 [ERROR] InnoDB: Operating system error number 22 in a file operation.
2018-02-10T23:43:27.728063Z 0 [ERROR] InnoDB: Error number 22 means 'Invalid argument'
2018-02-10T23:43:27.728141Z 0 [ERROR] InnoDB: File ./ib_logfile101: 'aio write' returned OS error 122. Cannot continue operation

The only workaround I found was to build an other image from mysql with this dockerfile :


FROM mysql

RUN usermod -u 1000 mysql && echo "innodb_use_native_aio=0" >> /etc/mysql/conf.d/docker.cnf

But I'd like to be able to directly launch a mysql container from command line.

Is there a solution/workaround to this problem?

[EDIT] : It looks like the problem occurs when I try to mount a directory that is shared with the OSX host from my docker-machine as a volume.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions