6

I'm trying to install MySQL 5.6.14 on Ubuntu 12.04 Desktop:

$ scripts/mysql_install_db --no-defaults --force \
  --explicit_defaults_for_timestamp --datadir=/tmp/data

And I'm getting:

Installing MySQL system tables...
2013-10-09 09:27:26 6463 [Warning] Buffered warning: Changed limits: max_open_files: 4096 (requested 5000)
2013-10-09 09:27:26 6463 [Warning] Buffered warning: Changed limits: table_cache: 1967 (requested 2000)
2013-10-09 09:27:26 6463 [Note] InnoDB: The InnoDB memory heap is disabled
2013-10-09 09:27:26 6463 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2013-10-09 09:27:26 6463 [Note] InnoDB: Compressed tables use zlib 1.2.3
2013-10-09 09:27:26 6463 [Note] InnoDB: Using Linux native AIO
2013-10-09 09:27:26 6463 [Note] InnoDB: Not using CPU crc32 instructions
2013-10-09 09:27:26 6463 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2013-10-09 09:27:26 6463 [Note] InnoDB: Completed initialization of buffer pool
2013-10-09 09:27:26 6463 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2013-10-09 09:27:26 6463 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2013-10-09 09:27:26 6463 [Note] InnoDB: Database physically writes the file full: wait...
2013-10-09 09:27:26 6463 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2013-10-09 09:27:30 6463 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2013-10-09 09:27:31 7fdc6d10b740  InnoDB: Operating system error number 22 in a file operation.
InnoDB: Error number 22 means 'Invalid argument'.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/operating-system-error-codes.html
2013-10-09 09:27:31 6463 [ERROR] InnoDB: File ./ib_logfile101: 'aio write' returned OS error 122. Cannot continue operation

What this could be? How to solve?

yegor256
  • 93,933
  • 106
  • 409
  • 558
  • 1
    Check this answer https://stackoverflow.com/questions/48239668/fails-to-initialize-mysql-database-on-windows-10/48539956#answer-48539956 – Aderemi Dayo Jan 31 '18 at 13:25

2 Answers2

16

It means the filesystem your using doesn't support aio. You can tell this to innodb by adding the following line to my.cnf:

innodb_use_native_aio=0

With this in my.cnf MySQL should be able to start.

Károly Nagy
  • 1,645
  • 10
  • 13
3

The above solution does not work for me. So, i added following in docker-compose as a command

command: "--innodb_use_native_aio=0"

And it works

Shajibur Rahman
  • 320
  • 2
  • 10