MySQL 100+ instances on one Windows server

innodbMySQLmysql-5.6

Please don't ask why I need 100+ instances on one server because I cannot say; suffice to say that I'm not impressed. They will be very small databases and not definitely not under any great load (one or two users per instance).

  • The server is Windows 2012R2 64bit with 8GB RAM.
  • The MySQL version is 5.6.26.
  • innodb_buffer_pool_size=415M

After 27 instances are running I get the error in the Windows event log for every instance after that:

InnoDB: Cannot allocate memory for the buffer pool"

The instances will have the most basic of databases, probably no more than 10 records in each and 10 – 15 entries in each record.

If needs be, I can allocate more memory.

Best Answer

To reduce the RAM used by each instance from ~450MB to 17MB this setting was required:

performance_schema=off

To fix the

InnoDB: Cannot allocate memory for the buffer pool

...the setting innodb_open_files=300 had to be changed to innodb_open_files=3000.