SlideShare a Scribd company logo
Compatibility with
MySQL
Colin Charles, byte@aeon.com.my on the lists/jira / bytee on IRC
#maria / @bytebot on Twitter / byte on github / http://
www.bytebot.net/blog/
MariaDB Server Developer’s meeting 2016, Amsterdam, Netherlands
8 October 2016
whoami
• Chief Evangelist (in the CTO office), Percona Inc
• Founding team of MariaDB Server (2009-2016), previously
at Monty Program Ab, merged with SkySQL Ab, now
MariaDB Corporation
• Formerly MySQL AB (exit: Sun Microsystems)
• Past lives include Fedora Project (FESCO), OpenOffice.org
• MySQL Community Contributor of the Year Award winner
2014
The “MariaDB” Code of
Conduct
• All MariaDB contributors are expected to follow the Ubuntu Code Of
Conduct.
• Ubuntu is about showing humanity to one another: the word itself
captures the spirit of being human.
• Be considerate. Be respectful. Take responsibility for our words and
actions. Be collaborative. Value decisiveness, clarity and
consensus. Ask for help when unsure. Step down considerately.
• Open meritocracy. Teamwork. Credit. We value discussion, data and
decisiveness. Courage and considerateness. Conflicts of interest.
• “People within a corporation become its face” - Shahid Kamal,
gaming entrepreneur, @shahidkamal
Define: compatibility (OED)
• A state in which two things are able to exist or
occur together without problems or conflict.
Commitments
• Verbal: MySQL 5.6, should be comparable to
MariaDB Server 10.1. And for 10.2 it should be
compatible with MySQL 5.7 — Monty, yesterday (7
October 2016)
• mariadb.org/about/: It is an enhanced, drop-in
replacement for MySQL.
From the KB
• https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/
• Tracker for documentation of above page: https://jira.mariadb.org/browse/
MDEV-10392
• https://mariadb.com/kb/en/mariadb/system-variable-differences-between-
mariadb-and-mysql/
5.7 JSON
• https://jira.mariadb.org/browse/MDEV-9056 - target
10.2, not in the current beta release
• what about mysqlsh? (the MySQL Shell)
InnoDB tablespace
encryption
• MariaDB Server: table or tablespace encryption, fully encrypted logs
• MySQL: tablespace encryption, innodb_file_per_table, logs
unencrypted
• Do we aim for compatibility or make it clear that it won’t be (saying
“implemented differently” doesn’t imply incompatibility!)
• Polishing encryption?
• Galera’s gcache? Logs? (https://jira.mariadb.org/browse/
MDEV-9639)
• mysqlbinlog reading encrypted logs? https://jira.mariadb.org/
browse/MDEV-8813
CJK language support
• Add “ngram” support to MariaDB Server: https://
jira.mariadb.org/browse/MDEV-10267
• Add “MeCab” support to MariaDB Server: https://
jira.mariadb.org/browse/MDEV-10268
• InnoDB 5.7 is now merged, there is no 10.2 target
on the above two issues
• gb18030 support: https://jira.mariadb.org/browse/
MDEV-7495
Multiple triggers per table
• Pushed, ready for testing in 10.2.3
• https://jira.mariadb.org/browse/MDEV-6112
10.0/5.6
Replication
• How often is replication from 5.6/5.7 tested for 10.1/10.2? (https://
jira.mariadb.org/browse/MDEV-5705)
• What (if any) is the plan to make replication work from 10.2 ->
5.7?
• FR: Allow replication from MySQL 5.6+ when GTID is enabled on
the master - https://jira.mariadb.org/browse/MDEV-4487 (resolved 9
October 2015)
• Multi-source replication is present in 5.7 - is it compatible with 10.2?
• Time delayed replication? https://jira.mariadb.org/browse/
MDEV-7145
PERFORMANCE_SCHEMA
• Off by default, but remember, it can’t be turned on
at runtime…
• sys schema?
• Is it going to get merged? (87 “rows” vs 52)
Bits…
• InnoDB memcached (upstream, not the GSoC
variant)
• sha256_password plugin? https://jira.mariadb.org/
browse/MDEV-9804
• removing mysql_old_password?
• validate_password on by default in 5.7
How did we do from this time, last year?
(Compatibility/convergence/divergence
by Eric Herman)
• GTID has domain ID
(which is an innovation in
MariaDB Server)
• Knowing scenarios where
one can swap, i.e. when
one has a multi-vendor
strategy, so that people
can experimentally try
WebScaleSQL/Percona
Server/etc.
• using innovation may limit
your options, i.e. how to
step away
• if you use out of order
parallel replication in
MariaDB, you can't go
away to somewhere else.
So if you use innovation
and depend on it, this
must be clearly
documented
• Virtual columns +
replication will work
• Need specific
documentation between
master/slave protocol on
how they talk, how they
shouldn't talk. Replication
protocol docs needs
improvement (protocol
specification).
• Goal is to be syntax
compatible
• SHOW EXPLAIN
• Multi-source replication
• Replication filters
• slave parallel thread vs
slave parallel workers
• Maybe write a rewrite
plugin for MySQL 5.7 to
make it more compatible
with MariaDB
• What do we do with
regards to RDS and
Aurora?
• Being compatible to
match other
implementations like
SQLite/PostgreSQL?
When doing development
we do test against
PostgreSQL
• 10.0 needed work on
default_tmp_storage_en
gine (and 10.1 has this).
• To make it easier we need
to ensure that options are
easy for people (DBAs)
whom are doing both
MariaDB and MySQL.
Allow simple as possible
configuration
• Importing from
WebScaleSQL? "We
import all good and
reasonable
stuff" (audience breaks
out into laughter)
• super readonly mode - its
everywhere, so it has to
be in MariaDB Server 10.2
• InnoDB - follow MySQL
InnoDB. When innovation
happens (encryption),
then we need to make it
clear how to go back.
• Goal: default optimizer
changes only happen at
major releases.
• missing: crash slave
replication with current
position
• missing: minimal RBR
• Optimizer trace
Missing!
• SUPER readonly mode - https://jira.mariadb.org/
browse/MDEV-9458
• Optimizer trace - https://jira.mariadb.org/browse/
MDEV-6111
• Add replication crash-safety for non-GTID slave -
https://jira.mariadb.org/browse/MDEV-8946
Needs work
• Minimal RBR - Minimal/NOBLOB Binlog Row Image
replication fails when tables from master have
different PK in slave https://jira.mariadb.org/
browse/MDEV-8398 (docs?)
• Syntax compatibility (explain for connection <id> -
https://jira.mariadb.org/browse/MDEV-10000, etc.)
Installation…
• MySQL: https://dev.mysql.com/downloads/repo/
yum/ - grab a package — e.g. mysql57-
community-release-el7-9.noarch.rpm
• MariaDB Server: https://downloads.mariadb.org/
mariadb/repositories/ - copy/paste, edit a file, then
install
• Percona Server: https://www.percona.com/doc/
percona-server/5.7/installation/yum_repo.html -
yum install Percona-Server-server-57
Starting up
• MySQL / Percona Server
• service mysqld start
• grep 'temporary password' /var/log/mysqld.log
• ALTER USER 'root'@'localhost' IDENTIFIED BY
‘rootmeOK!’;
• MariaDB Server? mysql -uroot “just works”
mysql.user table changes
• MariaDB Server and MySQL differ here (not just by addition of
roles) - mysql.user.password is just
mysql.user.authentication_string (is MariaDB Server removing
password?)
• Password expiry is coming? https://jira.mariadb.org/browse/
MDEV-7597
• Password last changed? Lifetime?
• ACCOUNT LOCK/UNLOCK
• VALIDATE_PASSWORD_STRENGTH() SQL function doesn’t
work in MariaDB Server
More 5.7
• Optimizer hints (and the cost based optimizer itself?) - https://
jira.mariadb.org/browse/MDEV-9078
• RENAME INDEX - https://jira.mariadb.org/browse/MDEV-7318
• Query rewriting? - https://jira.mariadb.org/browse/MDEV-5561
• GIS: GeoJSON functions? Geohash functions?
• SELECT
ST_AsGeoJSON(ST_GeomFromText('POINT(11.11111
12.22222)’),2);
• SELECT ST_GeoHash(180,0,10), ST_GeoHash(-180,-90,15);
Tools
• including new tools like mysql_ssl_rsa_setup ? mysqlpump?
• why will xtrabackup not work with MariaDB Server encryption
or compression? https://jira.mariadb.org/browse/MDEV-10367
• When merging XtraDB, why isn’t it complete, with backup
locks? https://jira.mariadb.org/browse/MDEV-5336
• tools that require MySQL GTID don’t work with MariaDB
Server - ideas? (e.g. mysqlfailover, mysqlrpladmin, MHA, etc.)
• vitess, started life on just MariaDB Server, but note they
support 5.6/5.7 and only 10.0
Contributions?
• SPIDER
• SPIDER works better if its recompiled (doesn’t matter if its
included, it isn’t “feature complete”)
• Open since March 2015. Priority provided since May 2016.
• https://jira.mariadb.org/browse/MDEV-7698
• Are people still using HandlerSocket?
• What needs to get deprecated so focus can happen on other
things?
Open ended…
• How often are the 5.6/5.7 mysqltest’s run on
MariaDB Server?
• How often are upgrades from 5.6/5.7 tested?
Today we already see this…
The future
• MySQL 8 brings roles, CTEs, (soon window
functions), transactional data dictionary,
histograms, SDIs (instead of FRMs), etc.
• http://mysqlserverteam.com/the-mysql-8-0-0-
milestone-release-is-available/
• Will MariaDB Server 10.3 aim to be compatible with
MySQL 8?
MariaDB Server Compatibility with MySQL

More Related Content

What's hot (20)

PDF
The MySQL Server ecosystem in 2016
Colin Charles
 
PDF
Distributions from the view a package
Colin Charles
 
PDF
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
Colin Charles
 
PDF
MariaDB Server & MySQL Security Essentials 2016
Colin Charles
 
PDF
Meet MariaDB 10.1 at the Bulgaria Web Summit
Colin Charles
 
PDF
Why MariaDB?
Colin Charles
 
PDF
MariaDB: in-depth (hands on training in Seoul)
Colin Charles
 
PDF
Tuning Linux for your database FLOSSUK 2016
Colin Charles
 
PDF
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Colin Charles
 
PDF
MariaDB 10 and what's new with the project
Colin Charles
 
PDF
Differences between MariaDB 10.3 & MySQL 8.0
Colin Charles
 
PDF
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
Colin Charles
 
PDF
MySQL features missing in MariaDB Server
Colin Charles
 
PDF
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
Ivan Zoratti
 
PDF
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
Colin Charles
 
PDF
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Colin Charles
 
PPT
Maria db the new mysql (Colin Charles)
Ontico
 
PDF
MariaDB 10: A MySQL Replacement - HKOSC
Colin Charles
 
PDF
MariaDB - a MySQL Replacement #SELF2014
Colin Charles
 
PDF
Better encryption & security with MariaDB 10.1 & MySQL 5.7
Colin Charles
 
The MySQL Server ecosystem in 2016
Colin Charles
 
Distributions from the view a package
Colin Charles
 
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
Colin Charles
 
MariaDB Server & MySQL Security Essentials 2016
Colin Charles
 
Meet MariaDB 10.1 at the Bulgaria Web Summit
Colin Charles
 
Why MariaDB?
Colin Charles
 
MariaDB: in-depth (hands on training in Seoul)
Colin Charles
 
Tuning Linux for your database FLOSSUK 2016
Colin Charles
 
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Colin Charles
 
MariaDB 10 and what's new with the project
Colin Charles
 
Differences between MariaDB 10.3 & MySQL 8.0
Colin Charles
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
Colin Charles
 
MySQL features missing in MariaDB Server
Colin Charles
 
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
Ivan Zoratti
 
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
Colin Charles
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Colin Charles
 
Maria db the new mysql (Colin Charles)
Ontico
 
MariaDB 10: A MySQL Replacement - HKOSC
Colin Charles
 
MariaDB - a MySQL Replacement #SELF2014
Colin Charles
 
Better encryption & security with MariaDB 10.1 & MySQL 5.7
Colin Charles
 

Similar to MariaDB Server Compatibility with MySQL (20)

PDF
The MySQL ecosystem - understanding it, not running away from it!
Colin Charles
 
PDF
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
Alkin Tezuysal
 
PDF
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
Insight Technology, Inc.
 
PDF
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
NETWAYS
 
PDF
The Complete MariaDB Server Tutorial - Percona Live 2015
Colin Charles
 
PDF
Maria db 10 and the mariadb foundation(colin)
kayokogoto
 
PDF
MySQL highav Availability
Baruch Osoveskiy
 
PPTX
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Corporation
 
PPTX
Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...
Codership Oy - Creators of Galera Cluster
 
PDF
The MySQL Server ecosystem in 2016
sys army
 
PDF
Mariadb10 和新项目中有什么
YUCHENG HU
 
PDF
The MySQL Server Ecosystem in 2016
Colin Charles
 
PDF
MySQL Ecosystem in 2020
Alkin Tezuysal
 
PDF
Best practices for MySQL High Availability Tutorial
Colin Charles
 
PDF
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Continuent
 
PDF
Introduction of MariaDB 2017 09
GOTO Satoru
 
PDF
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
Insight Technology, Inc.
 
PDF
A beginners guide to MariaDB
Colin Charles
 
PPTX
The New MariaDB Offering: MariaDB 10, MaxScale and More
MariaDB Corporation
 
PDF
MariaDB - Fast, Easy & Strong - Get Started Tutorial
phamhphuc
 
The MySQL ecosystem - understanding it, not running away from it!
Colin Charles
 
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
Alkin Tezuysal
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
Insight Technology, Inc.
 
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
NETWAYS
 
The Complete MariaDB Server Tutorial - Percona Live 2015
Colin Charles
 
Maria db 10 and the mariadb foundation(colin)
kayokogoto
 
MySQL highav Availability
Baruch Osoveskiy
 
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Corporation
 
Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...
Codership Oy - Creators of Galera Cluster
 
The MySQL Server ecosystem in 2016
sys army
 
Mariadb10 和新项目中有什么
YUCHENG HU
 
The MySQL Server Ecosystem in 2016
Colin Charles
 
MySQL Ecosystem in 2020
Alkin Tezuysal
 
Best practices for MySQL High Availability Tutorial
Colin Charles
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Continuent
 
Introduction of MariaDB 2017 09
GOTO Satoru
 
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
Insight Technology, Inc.
 
A beginners guide to MariaDB
Colin Charles
 
The New MariaDB Offering: MariaDB 10, MaxScale and More
MariaDB Corporation
 
MariaDB - Fast, Easy & Strong - Get Started Tutorial
phamhphuc
 
Ad

More from Colin Charles (8)

PDF
What is MariaDB Server 10.3?
Colin Charles
 
PDF
Databases in the hosted cloud
Colin Charles
 
PDF
Databases in the Hosted Cloud
Colin Charles
 
PDF
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Colin Charles
 
PDF
Capacity planning for your data stores
Colin Charles
 
PDF
Lessons from {distributed,remote,virtual} communities and companies
Colin Charles
 
PDF
Forking Successfully - or is a branch better?
Colin Charles
 
PDF
Cool MariaDB Plugins
Colin Charles
 
What is MariaDB Server 10.3?
Colin Charles
 
Databases in the hosted cloud
Colin Charles
 
Databases in the Hosted Cloud
Colin Charles
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Colin Charles
 
Capacity planning for your data stores
Colin Charles
 
Lessons from {distributed,remote,virtual} communities and companies
Colin Charles
 
Forking Successfully - or is a branch better?
Colin Charles
 
Cool MariaDB Plugins
Colin Charles
 
Ad

Recently uploaded (20)

PDF
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
PPTX
Smart Factory Monitoring IIoT in Machine and Production Operations.pptx
Rejig Digital
 
PDF
Redefining Work in the Age of AI - What to expect? How to prepare? Why it mat...
Malinda Kapuruge
 
PDF
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
PDF
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
PDF
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
PDF
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
PDF
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Pitch ...
Michele Kryston
 
PDF
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
PPTX
Practical Applications of AI in Local Government
OnBoard
 
PPSX
Usergroup - OutSystems Architecture.ppsx
Kurt Vandevelde
 
PDF
Next level data operations using Power Automate magic
Andries den Haan
 
PPTX
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 
PDF
FME as an Orchestration Tool with Principles From Data Gravity
Safe Software
 
PDF
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
 
PDF
GDG Cloud Southlake #44: Eyal Bukchin: Tightening the Kubernetes Feedback Loo...
James Anderson
 
PPTX
Reimaginando la Ciberdefensa: De Copilots a Redes de Agentes
Cristian Garcia G.
 
PDF
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
PDF
Pipeline Industry IoT - Real Time Data Monitoring
Safe Software
 
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
Smart Factory Monitoring IIoT in Machine and Production Operations.pptx
Rejig Digital
 
Redefining Work in the Age of AI - What to expect? How to prepare? Why it mat...
Malinda Kapuruge
 
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Pitch ...
Michele Kryston
 
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
Practical Applications of AI in Local Government
OnBoard
 
Usergroup - OutSystems Architecture.ppsx
Kurt Vandevelde
 
Next level data operations using Power Automate magic
Andries den Haan
 
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 
FME as an Orchestration Tool with Principles From Data Gravity
Safe Software
 
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
 
GDG Cloud Southlake #44: Eyal Bukchin: Tightening the Kubernetes Feedback Loo...
James Anderson
 
Reimaginando la Ciberdefensa: De Copilots a Redes de Agentes
Cristian Garcia G.
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
Pipeline Industry IoT - Real Time Data Monitoring
Safe Software
 

MariaDB Server Compatibility with MySQL

  • 1. Compatibility with MySQL Colin Charles, [email protected] on the lists/jira / bytee on IRC #maria / @bytebot on Twitter / byte on github / http:// www.bytebot.net/blog/ MariaDB Server Developer’s meeting 2016, Amsterdam, Netherlands 8 October 2016
  • 2. whoami • Chief Evangelist (in the CTO office), Percona Inc • Founding team of MariaDB Server (2009-2016), previously at Monty Program Ab, merged with SkySQL Ab, now MariaDB Corporation • Formerly MySQL AB (exit: Sun Microsystems) • Past lives include Fedora Project (FESCO), OpenOffice.org • MySQL Community Contributor of the Year Award winner 2014
  • 3. The “MariaDB” Code of Conduct • All MariaDB contributors are expected to follow the Ubuntu Code Of Conduct. • Ubuntu is about showing humanity to one another: the word itself captures the spirit of being human. • Be considerate. Be respectful. Take responsibility for our words and actions. Be collaborative. Value decisiveness, clarity and consensus. Ask for help when unsure. Step down considerately. • Open meritocracy. Teamwork. Credit. We value discussion, data and decisiveness. Courage and considerateness. Conflicts of interest. • “People within a corporation become its face” - Shahid Kamal, gaming entrepreneur, @shahidkamal
  • 4. Define: compatibility (OED) • A state in which two things are able to exist or occur together without problems or conflict.
  • 5. Commitments • Verbal: MySQL 5.6, should be comparable to MariaDB Server 10.1. And for 10.2 it should be compatible with MySQL 5.7 — Monty, yesterday (7 October 2016) • mariadb.org/about/: It is an enhanced, drop-in replacement for MySQL.
  • 6. From the KB • https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/ • Tracker for documentation of above page: https://jira.mariadb.org/browse/ MDEV-10392 • https://mariadb.com/kb/en/mariadb/system-variable-differences-between- mariadb-and-mysql/
  • 7. 5.7 JSON • https://jira.mariadb.org/browse/MDEV-9056 - target 10.2, not in the current beta release • what about mysqlsh? (the MySQL Shell)
  • 8. InnoDB tablespace encryption • MariaDB Server: table or tablespace encryption, fully encrypted logs • MySQL: tablespace encryption, innodb_file_per_table, logs unencrypted • Do we aim for compatibility or make it clear that it won’t be (saying “implemented differently” doesn’t imply incompatibility!) • Polishing encryption? • Galera’s gcache? Logs? (https://jira.mariadb.org/browse/ MDEV-9639) • mysqlbinlog reading encrypted logs? https://jira.mariadb.org/ browse/MDEV-8813
  • 9. CJK language support • Add “ngram” support to MariaDB Server: https:// jira.mariadb.org/browse/MDEV-10267 • Add “MeCab” support to MariaDB Server: https:// jira.mariadb.org/browse/MDEV-10268 • InnoDB 5.7 is now merged, there is no 10.2 target on the above two issues • gb18030 support: https://jira.mariadb.org/browse/ MDEV-7495
  • 10. Multiple triggers per table • Pushed, ready for testing in 10.2.3 • https://jira.mariadb.org/browse/MDEV-6112
  • 12. Replication • How often is replication from 5.6/5.7 tested for 10.1/10.2? (https:// jira.mariadb.org/browse/MDEV-5705) • What (if any) is the plan to make replication work from 10.2 -> 5.7? • FR: Allow replication from MySQL 5.6+ when GTID is enabled on the master - https://jira.mariadb.org/browse/MDEV-4487 (resolved 9 October 2015) • Multi-source replication is present in 5.7 - is it compatible with 10.2? • Time delayed replication? https://jira.mariadb.org/browse/ MDEV-7145
  • 13. PERFORMANCE_SCHEMA • Off by default, but remember, it can’t be turned on at runtime… • sys schema? • Is it going to get merged? (87 “rows” vs 52)
  • 14. Bits… • InnoDB memcached (upstream, not the GSoC variant) • sha256_password plugin? https://jira.mariadb.org/ browse/MDEV-9804 • removing mysql_old_password? • validate_password on by default in 5.7
  • 15. How did we do from this time, last year? (Compatibility/convergence/divergence by Eric Herman) • GTID has domain ID (which is an innovation in MariaDB Server) • Knowing scenarios where one can swap, i.e. when one has a multi-vendor strategy, so that people can experimentally try WebScaleSQL/Percona Server/etc. • using innovation may limit your options, i.e. how to step away • if you use out of order parallel replication in MariaDB, you can't go away to somewhere else. So if you use innovation and depend on it, this must be clearly documented • Virtual columns + replication will work • Need specific documentation between master/slave protocol on how they talk, how they shouldn't talk. Replication protocol docs needs improvement (protocol specification). • Goal is to be syntax compatible • SHOW EXPLAIN • Multi-source replication • Replication filters • slave parallel thread vs slave parallel workers • Maybe write a rewrite plugin for MySQL 5.7 to make it more compatible with MariaDB • What do we do with regards to RDS and Aurora? • Being compatible to match other implementations like SQLite/PostgreSQL? When doing development we do test against PostgreSQL • 10.0 needed work on default_tmp_storage_en gine (and 10.1 has this). • To make it easier we need to ensure that options are easy for people (DBAs) whom are doing both MariaDB and MySQL. Allow simple as possible configuration • Importing from WebScaleSQL? "We import all good and reasonable stuff" (audience breaks out into laughter) • super readonly mode - its everywhere, so it has to be in MariaDB Server 10.2 • InnoDB - follow MySQL InnoDB. When innovation happens (encryption), then we need to make it clear how to go back. • Goal: default optimizer changes only happen at major releases. • missing: crash slave replication with current position • missing: minimal RBR • Optimizer trace
  • 16. Missing! • SUPER readonly mode - https://jira.mariadb.org/ browse/MDEV-9458 • Optimizer trace - https://jira.mariadb.org/browse/ MDEV-6111 • Add replication crash-safety for non-GTID slave - https://jira.mariadb.org/browse/MDEV-8946
  • 17. Needs work • Minimal RBR - Minimal/NOBLOB Binlog Row Image replication fails when tables from master have different PK in slave https://jira.mariadb.org/ browse/MDEV-8398 (docs?) • Syntax compatibility (explain for connection <id> - https://jira.mariadb.org/browse/MDEV-10000, etc.)
  • 18. Installation… • MySQL: https://dev.mysql.com/downloads/repo/ yum/ - grab a package — e.g. mysql57- community-release-el7-9.noarch.rpm • MariaDB Server: https://downloads.mariadb.org/ mariadb/repositories/ - copy/paste, edit a file, then install • Percona Server: https://www.percona.com/doc/ percona-server/5.7/installation/yum_repo.html - yum install Percona-Server-server-57
  • 19. Starting up • MySQL / Percona Server • service mysqld start • grep 'temporary password' /var/log/mysqld.log • ALTER USER 'root'@'localhost' IDENTIFIED BY ‘rootmeOK!’; • MariaDB Server? mysql -uroot “just works”
  • 20. mysql.user table changes • MariaDB Server and MySQL differ here (not just by addition of roles) - mysql.user.password is just mysql.user.authentication_string (is MariaDB Server removing password?) • Password expiry is coming? https://jira.mariadb.org/browse/ MDEV-7597 • Password last changed? Lifetime? • ACCOUNT LOCK/UNLOCK • VALIDATE_PASSWORD_STRENGTH() SQL function doesn’t work in MariaDB Server
  • 21. More 5.7 • Optimizer hints (and the cost based optimizer itself?) - https:// jira.mariadb.org/browse/MDEV-9078 • RENAME INDEX - https://jira.mariadb.org/browse/MDEV-7318 • Query rewriting? - https://jira.mariadb.org/browse/MDEV-5561 • GIS: GeoJSON functions? Geohash functions? • SELECT ST_AsGeoJSON(ST_GeomFromText('POINT(11.11111 12.22222)’),2); • SELECT ST_GeoHash(180,0,10), ST_GeoHash(-180,-90,15);
  • 22. Tools • including new tools like mysql_ssl_rsa_setup ? mysqlpump? • why will xtrabackup not work with MariaDB Server encryption or compression? https://jira.mariadb.org/browse/MDEV-10367 • When merging XtraDB, why isn’t it complete, with backup locks? https://jira.mariadb.org/browse/MDEV-5336 • tools that require MySQL GTID don’t work with MariaDB Server - ideas? (e.g. mysqlfailover, mysqlrpladmin, MHA, etc.) • vitess, started life on just MariaDB Server, but note they support 5.6/5.7 and only 10.0
  • 23. Contributions? • SPIDER • SPIDER works better if its recompiled (doesn’t matter if its included, it isn’t “feature complete”) • Open since March 2015. Priority provided since May 2016. • https://jira.mariadb.org/browse/MDEV-7698 • Are people still using HandlerSocket? • What needs to get deprecated so focus can happen on other things?
  • 24. Open ended… • How often are the 5.6/5.7 mysqltest’s run on MariaDB Server? • How often are upgrades from 5.6/5.7 tested?
  • 25. Today we already see this…
  • 26. The future • MySQL 8 brings roles, CTEs, (soon window functions), transactional data dictionary, histograms, SDIs (instead of FRMs), etc. • http://mysqlserverteam.com/the-mysql-8-0-0- milestone-release-is-available/ • Will MariaDB Server 10.3 aim to be compatible with MySQL 8?