What you need to know

There are no changes in table or index formats between MariaDB 5.5 and MariaDB 10.0, so on most servers the upgrade should be painless.

How to upgrade

The suggested upgrade procedure is:

  1. Shutdown and uninstall MariaDB 5.5
  2. Take a backup (this is the perfect time to take a backup of your databases)
  3. Install MariaDB 10.0 [1]
  4. Run mysql_upgrade
    • Ubuntu and Debian packages do this automatically when they are installed; Red Hat, CentOS, and Fedora packages do not
    • mysql_upgrade does two things:
      1. Upgrades the permission tables in the mysql database with some new fields
      2. Does a very quick check of all tables and marks them as compatible with MariaDB 10.0
    • In most cases this should be a fast operation (depending of course on the number of tables)
  5. Add new options to my.cnf to enable features
    • If you change my.cnf then you need to restart mysqld

Incompatible changes between 5.5 and 10.0

As mentioned previously, on most servers upgrading from 5.5 should be painless. However, there are some things that have changed which could affect an upgrade:

Options that have changed default values

Most of the following options have increased a bit in value to give better performance. They should not use much additional memory, but some of them a do use a bit more disk space.

OptionOld default valueNew default value
aria-sort-buffer-size128M256M
back_log50150
innodb-buffer-pool-instances18 (except on 32-bit Windows)
innodb-concurrency-tickets5005000
innodb-log-file-size5M48M
innodb-old-blocks-time01000
innodb-open-files300400 [2]
innodb-purge-batch-size20300
innodb-undo-logsON20
max-connect-errors10100
max-relay-log-size01024M
myisam-sort-buffer-size8M128M
optimizer-switch...Added extended_keys=on, exists_to_in=on

Options that have been removed or renamed

The following options should be removed or renamed if you use them in your config files:

OptionReason
engine-condition-pushdownReplaced with set optimizer_switch='engine_condition_pushdown=on'
innodb-adaptive-flushing-methodRemoved by XtraDB
innodb-autoextend-incrementRemoved by XtraDB
innodb-blocking-buffer-pool-restoreRemoved by XtraDB
innodb-buffer-pool-pagesRemoved by XtraDB
innodb-buffer-pool-pages-blobRemoved by XtraDB
innodb-buffer-pool-pages-indexRemoved by XtraDB
innodb-buffer-pool-restore-at-startupRemoved by XtraDB
innodb-buffer-pool-shm-checksumRemoved by XtraDB
innodb-buffer-pool-shm-keyRemoved by XtraDB
innodb-checkpoint-age-targetRemoved by XtraDB
innodb-dict-size-limitRemoved by XtraDB
innodb-doublewrite-fileRemoved by XtraDB
innodb-fast-checksumRenamed to innodb-checksum-algorithm
innodb-flush-neighbor-pagesRenamed to innodb-flush-neighbors
innodb-ibuf-accel-rateRemoved by XtraDB
innodb-ibuf-active-contractRemoved by XtraDB
innodb-ibuf-max-sizeRemoved by XtraDB
innodb-import-table-from-xtrabackupRemoved by XtraDB
innodb-index-statsRemoved by XtraDB
innodb-lazy-drop-tableRemoved by XtraDB
innodb-merge-sort-block-sizeRemoved by XtraDB
innodb-persistent-stats-root-pageRemoved by XtraDB
innodb-read-aheadRemoved by XtraDB
innodb-recovery-statsRemoved by XtraDB
innodb-recovery-update-relay-logRemoved by XtraDB
innodb-stats-auto-updateRenamed to innodb-stats-auto-recalc
innodb-stats-update-need-lockRemoved by XtraDB
innodb-sys-statsRemoved by XtraDB
innodb-table-statsRemoved by XtraDB
innodb-thread-concurrency-timer-basedRemoved by XtraDB
innodb-use-sys-stats-tableRemoved by XtraDB
xtradb-admin-commandRemoved by XtraDB

New major features you should consider

You should consider using the following new major features in MariaDB 10.0:

For master / slave setups

Variables

Notes

  1. If using a MariaDB apt or yum repository, it is often enough to replace instances of '5.5' with '10.0' and then run an update/upgrade. For example, in Ubuntu/Debian update the MariaDB sources.list entry from something that looks similar to this:
    deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntu trusty main
    
    To something like this:
    deb http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu trusty main
    
    And then run
    apt-get update && apt-get upgrade
    
    And in Red Hat, CentOS, and Fedora, change the baseurl line from something that looks like this:
    baseurl = http://yum.mariadb.org/5.5/centos6-amd64
    
    To something that looks like this:
    baseurl = http://yum.mariadb.org/10.0/centos6-amd64
    
    And then run
    yum update
    
  2. The innodb-open-files variable defaults to the value of table-open-cache (400 is the default) if it is set to any value less than 10 so long as innodb-file-per-table is set to 1 or TRUE (the default). If innodb_file_per_table is set to 0 or FALSE and innodb-open-files is set to a value less than 10, the default is 300

See also

Comments

Comments loading...
Loading