HiveBrain v1.2.0
Get Started
← Back to all entries
patternsqlMajor

mysql wont start after increasing innodb_buffer_pool_size and innodb_log_file_size

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
afterwontinnodb_buffer_pool_sizemysqlinnodb_log_file_sizeincreasingstartand

Problem

I am following this solution here https://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#comment14041132_4056261 and tried to increase my innodb_buffer_pool_size to 4G and later 1G (also 1024M) in addition to the log file size, but mysql wont start with those values.
If I put it back to 512M mysql starts fine.

How can I solve this? My server is a 16GB one, and according to Webmin sysinfo:

Real memory 15.62 GB total, 3.13 GB used


Meanwhile I found the error log as well:


120529 10:29:32 mysqld_safe mysqld from pid file
/var/run/mysqld/mysqld.pid ended


120529 10:29:33 mysqld_safe Starting mysqld daemon with databases from
/var/lib/mysql


120529 10:29:33 [Note] Plugin 'FEDERATED' is disabled.


120529 10:29:33 InnoDB: The InnoDB memory heap is disabled


120529 10:29:33 InnoDB: Mutexes and rw_locks use GCC atomic builtins


120529 10:29:33 InnoDB: Compressed tables use zlib 1.2.3


120529 10:29:33 InnoDB: Using Linux native AIO


120529 10:29:33 InnoDB: Initializing buffer pool, size = 1.0G


120529 10:29:33 InnoDB: Completed initialization of buffer pool


InnoDB: Error: log file ./ib_logfile0 is of different size 0 134217728
bytes


InnoDB: than specified in the .cnf file 0 268435456 bytes!

Solution

The two answers given from @RickJames and @drogart are essentially the remedies. (+1 for each).

Right from the error log you present, the last two lines say:


InnoDB: Error: log file ./ib_logfile0 is of different size 0 134217728 bytes


InnoDB: than specified in the .cnf file 0 268435456 bytes!

At that point, it was evident that you set innodb_log_file_size to 256M (268435456) in
my.cnf while the InnoDB Transaction Logs (ib_logfile0,ib_logfile1) were respectively 128M (134217728) each. Looking back at the link to my StackOverflow answer in your question, you had to do the following:

Step 01) Add this to
my.cnf:

[mysqld]
innodb_buffer_pool_size=4G
innodb_log_file_size=1G


Step 02) Run these command in the OS

mysql -u... -p... -e"SET GLOBAL innodb_fast_shutdown = 1"
service mysql stop
rm -f /var/lib/mysql/ib_logfile*
service mysql start


So as to have confidence in what is happening, run
tail -f` against the error log. You will see message telling you when each innodb log file is being created.

Code Snippets

[mysqld]
innodb_buffer_pool_size=4G
innodb_log_file_size=1G
mysql -u... -p... -e"SET GLOBAL innodb_fast_shutdown = 1"
service mysql stop
rm -f /var/lib/mysql/ib_logfile*
service mysql start

Context

StackExchange Database Administrators Q#18495, answer score: 20

Revisions (0)

No revisions yet.