What Is New in MariaDB 10.1
MariaDB 10.1 is a significant release packed with new features, performance enhancements, and improved security. Here's a high-level summary of the key changes.
| Category | Key Changes |
|---|---|
| New Features | Galera Cluster 3, Multi-source Replication, Table/Tablespace Encryption, Temporal Data Processing |
| Security | Audit Plugin, Password Validation Plugin, PAM Authentication |
| Performance & Improvements | Parallel Replication, Faster Privilege Checks, InnoDB Optimizations |
| Deprecated & Removed | Deprecated InnoDB Plugin, Old Password Hashes |
What are the major new features in MariaDB 10.1?
The headline features are Galera Cluster integration and multi-source replication. This release bundles Galera Cluster 3, turning MariaDB into a fully synchronous multi-master cluster right out of the box. You no longer need to set it up separately.
Multi-source replication is a game-changer for data aggregation. It allows a single slave to replicate from multiple masters, which is perfect for pulling data from different sources into a central reporting server.
We also got built-in encryption for tables and tablespaces. You can now encrypt sensitive data at rest directly with SQL commands like CREATE TABLE ... ENCRYPTED=YES, which integrates with the key management you already have.
How did security improve in this version?
Security got a major boost with the introduction of the server_audit plugin for monitoring and the simple_password_check plugin for enforcing password policies. These are crucial for meeting basic audit requirements without third-party tools.
PAM (Pluggable Authentication Modules) support was added, letting you integrate with existing enterprise authentication systems like LDAP or Active Directory. This makes user management much smoother in corporate environments.
Support for the old, insecure mysql_old_password authentication was finally removed, closing a potential security hole for anyone still using outdated clients.
What performance enhancements should I know about?
Parallel replication is the big one. Slave servers can now apply events from the relay log using multiple threads, significantly reducing replication lag, especially on high-write systems.
Privilege checking was optimized to be faster. The server now checks table-level privileges once per query instead of once per row, which reduces overhead for queries scanning large numbers of rows.
Several InnoDB optimizations were backported, including improvements in buffer pool flushing and management, leading to better overall throughput and more consistent performance under load.
Is there anything deprecated or removed I should watch for?
The built-in InnoDB plugin is deprecated. MariaDB now uses the integrated InnoDB storage engine (referred to as XtraDB in some contexts) by default. You should ensure your configuration doesn't explicitly try to load the old plugin.
As mentioned, the insecure mysql_old_password hashing was completely removed. If you have any very old applications or scripts still using this, they will break upon upgrading and will need to be updated to use a secure authentication method.
FAQ
Does MariaDB 10.1 support multi-master replication?
Yes, natively. The integration of Galera Cluster 3 provides synchronous multi-master replication, allowing writes to any node in the cluster. This is a core feature, not an add-on.
Can I encrypt my existing tables after upgrading to 10.1?
Absolutely. You can use the ALTER TABLE ... ENCRYPTED=YES command to encrypt existing InnoDB tables. Just make sure your key management is configured first.
It allows a single slave to replicate from multiple masters. You configure multiple connection channels using
CHANGE MASTER statements with a FOR CHANNEL clause, and then manage them independently.
Is the audit plugin enabled by default?
No, the server_audit plugin is included but not active by default. You need to install it and configure its options in your my.cnf file to start logging audit events.
Will my applications break when upgrading from MySQL or older MariaDB?
Most applications should work without changes. The main compatibility risk is if you relied on the removed mysql_old_password authentication. It's always wise to test your specific workload in a staging environment first.