Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

File ./ib_logfile101: 'aio write' returned OS error 122

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?

like image 786
yegor256 Avatar asked Oct 09 '13 07:10

yegor256


2 Answers

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.

like image 125
Károly Nagy Avatar answered Sep 23 '22 21:09

Károly Nagy


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

like image 31
Shajibur Rahman Avatar answered Sep 25 '22 21:09

Shajibur Rahman