title: MySQL not booting with new my.cnf file from Percona Tools
body: <p>I have been trying some optimizations of the mysql database on the server.  I went through the wizard at Percona tools and took the my.cnf they gave me.  Everytime I go to restart the mysql with that file it doesn't work.  I already changed the locations of the socket and pid to match the old one.  Here's what I have.</p>
  
  <p>Old my.cnf file.</p>
  
  <pre><code>#
  # The MySQL database server configuration file.
  #
  # You can copy this to one of:
  # - "/etc/mysql/my.cnf" to set global options,
  # - "~/.my.cnf" to set user-specific options.
  #
  # One can use all long options that the program supports.
  # Run program with --help to get a list of available options and with
  # --print-defaults to see which it would actually understand and use.
  #
  # For explanations see
  # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
  
  # This will be passed to all mysql clients
  # It has been reported that passwords should be enclosed with ticks/quotes
  # escpecially if they contain "#" chars...
  # Remember to edit /etc/mysql/debian.cnf when changing the socket location.
  [client]
  port          = 3306
  socket          = /var/run/mysqld/mysqld.sock
  
  # Here is entries for some specific programs
  # The following values assume you have at least 32M ram
  
  # This was formally known as [safe_mysqld]. Both versions are currently parsed.
  [mysqld_safe]
  socket          = /var/run/mysqld/mysqld.sock
  nice          = 0
  
  [mysqld]
  #
  # * Basic Settings
  #
  user          = mysql
  pid-file     = /var/run/mysqld/mysqld.pid
  socket          = /var/run/mysqld/mysqld.sock
  port          = 3306
  basedir          = /usr
  datadir          = /var/lib/mysql
  tmpdir          = /tmp
  lc-messages-dir     = /usr/share/mysql
  skip-external-locking
  #
  # Additional Settings
  max_connections=500
  #
  # Instead of skip-networking the default is now to listen only on
  # localhost which is more compatible and is not less secure.
  bind-address          = lcscourses.net
  #
  # * Fine Tuning
  #
  key_buffer          = 64M
  max_allowed_packet     = 64M
  thread_stack          = 768K
  thread_cache_size       = 8
  # This replaces the startup script and checks MyISAM tables if needed
  # the first time they are touched
  myisam-recover         = BACKUP
  max_connections        = 500
  #table_cache            = 64
  #thread_concurrency     = 10
  #
  # * Query Cache Configuration
  #
  query_cache_limit     = 16M
  query_cache_size        = 64M
  #
  # * Logging and Replication
  #
  # Both location gets rotated by the cronjob.
  # Be aware that this log type is a performance killer.
  # As of 5.1 you can enable the log at runtime!
  #general_log_file        = /var/log/mysql/mysql.log
  #general_log             = 1
  #
  # Error log - should be very few entries.
  #
  log_error = /var/log/mysql/error.log
  #
  # Here you can see queries with especially long duration
  #log_slow_queries     = /var/log/mysql/mysql-slow.log
  #long_query_time = 2
  #log-queries-not-using-indexes
  #
  # The following can be used as easy to replay backup logs or for replication.
  # note: if you are setting up a replication slave, see README.Debian about
  #       other settings you may need to change.
  #server-id          = 1
  #log_bin               = /var/log/mysql/mysql-bin.log
  expire_logs_days     = 10
  max_binlog_size         = 10M
  binlog_do_db          = include_database_name
  #binlog_ignore_db     = include_database_name
  #
  # * InnoDB
  #
  # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
  # Read the manual for more InnoDB related options. There are many!
  #
  innodb_buffer_pool_size=256M
  innodb_additional_mem_pool_size=20M
  # * Security Features
  #
  # Read the manual, too, if you want chroot!
  # chroot = /var/lib/mysql/
  #
  # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
  #
  # ssl-ca=/etc/mysql/cacert.pem
  # ssl-cert=/etc/mysql/server-cert.pem
  # ssl-key=/etc/mysql/server-key.pem
  
  
  
  [mysqldump]
  quick
  quote-names
  max_allowed_packet     = 32M
  
  [mysql]
  #no-auto-rehash     # faster start of mysql but no tab completition
  
  [isamchk]
  key_buffer          = 16M
  
  #
  # * IMPORTANT: Additional settings that can override those from this file!
  #   The files must end with '.cnf', otherwise they'll be ignored.
  #
  !includedir /etc/mysql/conf.d/ 
  </code></pre>
  
  <p>New my.cnf file</p>
  
  <pre><code>[mysql]
  
  # CLIENT #
  port                           = 3306
  socket                         = /var/run/mysqld/mysqld.sock
  
  [mysqld]
  
  # GENERAL #
  user                           = mysql
  default-storage-engine         = InnoDB
  socket                         = /var/run/mysqld/mysqld.sock
  pid-file                       = /var/run/mysqld/mysqld.pid
  
  # MyISAM #
  key-buffer-size                = 32M
  myisam-recover                 = FORCE,BACKUP
  
  # SAFETY #
  max-allowed-packet             = 16M
  max-connect-errors             = 1000000
  
  # DATA STORAGE #
  datadir                        = /var/lib/mysql/
  
  # BINARY LOGGING #
  log-bin                        = /var/log/mysql/mysql-bin.log
  expire-logs-days               = 14
  sync-binlog                    = 1
  
  # CACHES AND LIMITS #
  tmp-table-size                 = 32M
  max-heap-table-size            = 32M
  query-cache-type               = 0
  query-cache-size               = 0
  max-connections                = 500
  thread-cache-size              = 50
  open-files-limit               = 65535
  table-definition-cache         = 4096
  table-open-cache               = 4096
  
  # INNODB #
  innodb-flush-method            = O_DIRECT
  innodb-log-files-in-group      = 2
  innodb-log-file-size           = 128M
  innodb-flush-log-at-trx-commit = 1
  innodb-file-per-table          = 1
  innodb-buffer-pool-size        = 2G
  
  # LOGGING #
  log-error                      = /var/log/mysql/error.log
  log-queries-not-using-indexes  = 1
  slow-query-log                 = 1
  slow-query-log-file            = /var/lib/mysql/mysql-slow.log 
  </code></pre>
  
  <p>Error log after trying restart</p>
  
  <pre><code>140123 10:56:30 [Note] /usr/sbin/mysqld: Shutdown complete
  
  140123 10:56:31 [Note] Plugin 'FEDERATED' is disabled.
  140123 10:56:31 InnoDB: The InnoDB memory heap is disabled
  140123 10:56:31 InnoDB: Mutexes and rw_locks use GCC atomic builtins
  140123 10:56:31 InnoDB: Compressed tables use zlib 1.2.3.4
  140123 10:56:31 InnoDB: Initializing buffer pool, size = 1.0G
  140123 10:56:31 InnoDB: Completed initialization of buffer pool
  InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
  InnoDB: than specified in the .cnf file 0 134217728 bytes!
  140123 10:56:31 [ERROR] Plugin 'InnoDB' init function returned error.
  140123 10:56:31 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
  140123 10:56:31 [ERROR] Unknown/unsupported storage engine: InnoDB
  140123 10:56:31 [ERROR] Aborting
  </code></pre>