<<style class="greenbox" style="text-align:center;font-family:Droid Sans;font-weight:bold;font-size:1.2em;">>
[[http://downloads.askmonty.org/mariadb/5.1|Download MariaDB 5.1]]
<</style>>
<<style class="bluebox" style="text-align:center;font-size:0.8em;font-family:Droid Sans;">>
MariaDB 5.1.61 [[mariadb-5161-release-notes|Release Notes]] |
[[mariadb-5161-changelog|Changelog]]\\
<</style>>
In short, MariaDB 5.1 is a binary drop in replacement of MySQL 5.1, but with performance like MySQL 5.5 (thanks to XtraDB), fewer bugs, and more features. Thanks to the extended and improved ##[[mysql_upgrade]]## program it's also easier to upgrade from MySQL 5.0 to MariaDB 5.1 than to MySQL 5.1.
MariaDB 5.1 is based on MySQL 5.1. We do a merge once a month with MySQL5.1 to ensure all MySQL bug fixes get into MariaDB.
See also:
* [[mariadb-versus-mysql-compatibility|MariaDB versus MySQL - Compatibility]]
=== New storage engines:
* [[aria|Aria]]: A crash-safe storage engine based on MyISAM.
* [[xtradb|XtraDB]]: Drop-in replacement for InnoDB based on the InnoDB plugin.
* [[pbxt|PBXT]]: A transactional storage engine with a lot of nice features.
* [[federatedx|FederatedX]]: Drop-in replacement for Federated.
=== Speed improvements
* [[checksum-table|CHECKSUM TABLE]] is faster.
* We have eliminated/improved some not needed character set conversions.
Overall speed improvements is 1-5 % (according to sql-bench) but can be
higher for big result sets with all characters between 0x00-0x7f.
* Our use of the Aria storage engine enables faster complex queries (queries
which normally use disk-based temporary tables). The [[aria|Aria]] storage
engine is used for internal temporary tables, which should give you a speedup
when doing complex selects. Aria is usually faster for temporary tables when
compared to MyISAM because Aria caches row data in memory and normally
doesn't have to write the temporary rows to disk.
* There are some improvements to DBUG code to make its execution faster when
debug is compiled in but not used.
=== Extensions <<entity>>amp<</entity>> new features
* [[table-elimination|Table Elimination]] (New optimization)
* [[pool-of-threads|Pool of Threads]] (Allows you to have 200,000+ connections
to MariadB)
* MariaDB can handle up to 32 key segments per key (up from 16)
* Added <<fixed>>--abort-source-on-error<</fixed>> to the mysql client.
* [[time_ms-column-in-information_schemaprocesslist|Microsecond Precision in Processlist]]
* [[new-features-for-mysqltest-in-mariadb|mysqltest extensions]]
=== Easier to upgrade
We have made it
[[upgrading-to-mariadb-from-mysql|easy to upgrade from MySQL 5.0]]
to MariaDB 5.1
* InnoDB and Archive tables are now upgraded properly.
* More options to [[mysql_upgrade]] and [[mysqlcheck]] to find out what's going
on.
* Cleaned up wrong warnings from mysqlcheck.
(Upgrading from MySQL 5.1 to MariaDB 5.1 is a trivial 1 min exercise as MariaDB
is a binary drop in replacement of MySQL. Just remove MySQL and install MariaDB
and things will //** *just work* **//)
=== Better Testing
* More tests in the test suite.
* All tests runs now clean without having to restart test. (Oracle re-runs
tests 3 times and assumes things are ok if one tests works)
* Test builds with different configure options to get better feature testing.
* Remove invalid tests. (e.g. Don't test feature **"X"** if that feature is not
in the build you are testing.)
=== Fewer warnings and bugs
* A build is not regarded ok if there are any errors or compiler warnings.
* We have fixed a lot of bugs in the MySQL code which we have found while
merging the MySQL code into MariaDB and by running the extended test suite.