Package: mysql-server-5.0
Version: 5.0.32-7etch1

When using an innodb_buffer_pool_size of 24GByte (or more) I get
a "failed!" message starting mysql with '/etc/init.d/mysql'.
Mysql starts anyway, however /etc/mysql/debian-start is not started.
This happens because of a 14 second timeout in the /etc/init.d/mysql script.

To reproduce:
Use an x86_64 machine with the 64 bit version of etch and 32GB or more.
We use an Dell PE6800, quad quad-core Xeon with 64GByte RAM.

Transcript with our own settings:

mysqlmachine-etch64:~# /etc/init.d/mysql stop
mysqlmachine-etch64:~# vim /etc/mysql/my.cnf
    # add <any other innodb settings>
    # Add/Set the innodb_buffer_pool_size to more than 24GB:
# in this case 80% of the 64GByte of the memory our (Dell PE6800) server has.
    innodb_buffer_pool_size         = 51000M

mysqlmachine-etch64:~# /etc/init.d/mysql start
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
mysqlmachine-etch64:~#

Some extra system info:
mysqlmachine-etch64:~# mysql -u root -p
Enter password:
mysql> show variables like '%version%';
+-------------------------+--------------------------+
| Variable_name           | Value                    |
+-------------------------+--------------------------+
| protocol_version        | 10                       |
| version                 | 5.0.32-Debian_7etch1-log |
| version_comment         | Debian etch distribution |
| version_compile_machine | x86_64                   |
| version_compile_os      | pc-linux-gnu             |
+-------------------------+--------------------------+

mysqlmachine-etch64:~# uname --all
Linux mysqlmachine-etch64 2.6.18-4-amd64 #1 SMP Fri May 4 00:37:33 UTC 2007 x86_64 GNU/Linux


Proposed fix:
mysqlmachine-etch64:/etc/init.d:~# diff adjusted-mysql mysql
< # 14s was reported in #? to be too few when using x86_64 with large innodb_buffer_pool_size < for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28; do
---
>           for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14; do

mysqlmachine-etch64:/etc/init.d# /etc/init.d/adjusted-mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Checking for corrupt, not cleanly closed and upgrade needing tables..

28 seconds was enough for mysql to allocate a 51 GByte innodb_buffer_pool, that should be enough for most. With 14 seconds the maximum innodb_buffer_pool_size where the table checker would start was about 23GByte.






--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to