Feed Aggregator
MariaDB at FromDual
FromDual as a neutral and vendor independent database service company also provides various services for the MariaDB database.
With our training partners in Germany and Switzerland we provide regular trainings for MariaDB beginners, experienced MariaDB DBAs and MariaDB Galera Cluster administrators.
For MariaDB users without their own DBA FromDual provides remote-DBA services for MariaDB. We become your MariaDB DBAs!
If you prefer to see one of our consultants on-site FromDual visit and help you solving your MariaDB issues.
And last but not least FromDual re-sells MariaDB Corp. Enterprise Support Subscriptions (MariaDB TX, MariaDB TX Cluster and MariaDB AX).
Further all FromDual Tools (MyEnv, BRman, fpmmm, Ops Center and the Nagios plug-ins) are tested and running against the MariaDB database (up to 10.3).
And FromDual is a MariaDB service provider listed by the MariaDB foundation.
Taxonomy upgrade extras: mariadb, services,
MySQL sys Schema in MariaDB 10.2
MySQL has introduced the PERFORMANCE_SCHEMA (P_S) in MySQL 5.5 and made it really usable in MySQL 5.6 and added some enhancements in MySQL 5.7 and 8.0.
Unfortunately the PERFORMANCE_SCHEMA was not really intuitive for the broader audience. Thus Mark Leith created the sys Schema for an easier access for the normal DBA and DevOps and Daniel Fischer has enhanced it further. Fortunately the sys Schema up to version 1.5.1 is available on GitHub. So we can adapt and use it for MariaDB as well. The version of the sys Schema in MySQL 8.0 is 1.6.0 and seems not to be on GitHub yet. But you can extract it from the MySQL 8.0 directory structure: mysql-8.0/share/mysql_sys_schema.sql. According to a well informed source the project on GitHub is not dead but the developers have just been working on other priorities. And the source announced another release soon (they are working on it at the moment).
MariaDB has integrated the PERFORMANCE_SCHEMA based on MySQL 5.6 into its own MariaDB 10.2 server but unfortunately did not …
Taxonomy upgrade extras: mariadb, sys, performance_schema,
MariaDB 10.2 New Features - Slides available
The Chemnitz Linux Days 2018 in Chemnitz (Germany) 10/11 March 2018 are over for more than a week now and IMHO it was a huge success.
I was following many very interesting talks, met a lot of interesting people and learned a lot!
For all those who could not follow our presentation about New Features in MariaDB 10.2 (PDF, 683 kib) the presentation slides are on-line available.
If you want to hear the presentation live you can join us at the SLAC 2018 in Berlin.
Taxonomy upgrade extras: folien, slides, vortrag, presentation, mariadb,
MySQL Environment MyEnv 2.0.0 has been released
FromDual has the pleasure to announce the release of the new version 2.0.0 of its popular MySQL, Galera Cluster and MariaDB multi-instance environment MyEnv.
The new MyEnv can be downloaded here. How to install MyEnv is described in the MyEnv Installation Guide.
In the inconceivable case that you find a bug in the MyEnv please report it to the FromDual bug tracker.
Any feedback, statements and testimonials are welcome as well! Please send them to [feedback@fromdual.com](mailto:feedback@fromdual.com?Subject=Feedback for MyEnv).
Upgrade from 1.1.x to 2.0.0
MyEnv 2.0.0 requires an new PHP package for socket handling. On Red Hat, CentOS, Debian and Ubuntu it seems to be installed by default. On OpenSUSE it has to be installed (php-sockets). For more details see also our MyEnv Installation Guide.
shell> sudo zypper install php-sockets # on OpenSUSE and SLES only
shell> cd ${HOME}/product
shell> tar xf /download/myenv-2.0.0.tar.gz
shell> rm -f myenv
shell> ln -s myenv-2.0.0 myenv
Plugins
If you …
Taxonomy upgrade extras: myenv, multi instance, virtualization, consolidation, saas, operations, release, mysqld_multi,
Advanced MySQL Enterprise Training by FromDual
Due to the increasing demand FromDual has developed an Advanced MySQL Enterprise Training for DBAs and DevOps. After testing this training extensively with some selected customers last year we offer this MySQL Enterprise Training in 2018 for a broader audience.
The MySQL Enterprise Training addresses MySQL DBAs and DevOps which are already familiar with MySQL and approach now the challenge to operate a serious MySQL Enterprise infrastructure.
The topics of the 3 days MySQL Enterprise training you can find here.
You further have the opportunity to add 2 extra days of MySQL Performance Tuning from the Advanced MySQL Training.
We would be pleased to hold this training in-house in your company or at the location of one of our training partners in Essen, Berlin and Cologne (Germany).
For any question please contact us by eMail.
Taxonomy upgrade extras: training, enterprise, mysql, advanced,
MySQL 8.0.4-rc is out
Yesterday MySQL 8.0.4-rc came out. The Release Notes are quite long.
But caution: Do a BACKUP before upgrading…
I experienced some nice surprises. First I have to admit that I did not read the Release Notes or anything else. Reading manuals is for Girlies! Possibly something is written in there which is of importance. But I expect that it just works as usual…
I downloaded MySQL 8.0.4-rc and just want to upgrade my MySQL 8.0.3-rc testing system, where we did the 1M tables test.
First I got:
[MY-011096] No data dictionary version number found.
[MY-010020] Data Dictionary initialization failed.
[MY-010119] Aborting
Hmmm… Maybe something was not clean with the old system. So downgrade again:
[ERROR] [000000] InnoDB: Unsupported redo log format. The redo log was created with MySQL 8.0.4. Please follow the instructions at http://dev.mysql.com/doc/refman/8.0/en/upgrading-downgrading.html
[ERROR] [000000] InnoDB: Plugin initialization aborted with error Generic error
[ERROR] [003957] Failed to …Taxonomy upgrade extras:
Short term notice: Percona XtraDB Cluster training in English 7/8 February 2018 in Germany
FromDual offers short term a Percona XtraDB Cluster and MySQL Galera Cluster training (2 days) in English.
The training will take place in the Linuxhotel in Essen/Germany on February 7/8 2018.
There are already enough registrations so it is certain the training will take place. But there are still free places for some additional participants.
You can book online at the Linuxhotel.
Important: The Linuxhotel is nearly fully booked out. So accommodation is in nearby locations. The Linuxhotel will recommend you some locations.
The training is in English.
You can find the contents of this 2-day Percona XtraDB Cluster training here.
If you have any question please do not hesitate to contact us.
Taxonomy upgrade extras: galera, percona xtradb cluster, training, linuxhotel,
Advanced MySQL and MariaDB training in Cologne 2018
End of February, from February 26 to March 2 (5 days), FromDual offers an additional training for DBAs and DevOps: our most visited Advanced MySQL and MariaDB training.
This training is hold in the training facilities of the FromDual training partner GFU Cyrus GmbH in Cologne-Deutz (Germany).
There are already enough registrations so it is certain the training will take place. But there are still free places for at least 3 additional participants.
The training is in German.
You can find the training of this 5-day MySQL/MariaDB training here.
If you have any question please do not hesitate to <span “mailto:contact@fromdual.com”="">contact us.
Taxonomy upgrade extras: training, advanced,
Oracle releases MySQL security vulnerability fixes 2018-01
As in every quarter of the year Oracle has released yesterday its recommendation for the MySQL security updates. This is called, in Oracle terminology, Critical Patch Update (CPU) Advisory.
This CPU is published for all Oracle products. But FromDual is only interested in MySQL related topics. So let us concentrate on those.
This time 25 fixes with a maximum score of 8.1 (out of 10.0) were published.
The following MySQL products are affected:
- MySQL Enterprise Monitor (3.3.6.3293 and before, 3.4.4.4226 and before, 4.0.0.5135 and before)
- MySQL Connector/Net (6.9.9. and before, 6.10.4 and before)
- MySQL Connector/ODBC (5.3.9. and before)
- MySQL Server (5.5.58 and before, 5.6.38 and before, 5.7.19 and before)
It is recommended to upgrade your MySQL products to close the security vulnerabilities.
FromDual upgrade decision aid
Because such security updates are published quarterly and some …
Taxonomy upgrade extras: cpu, security, mysql, upgrade,
Advanced MySQL Enterprise Training
If you are already familiar with MySQL and you are challenged to operate a serious MySQL Enterprise infrastructure this training is the right one for you.
Requirements
You are familiar with the MySQL basics and have already some experience with MySQL operations. The SQL language does not look strange to you any more. Further you are familiar with the Linux console and rule the most important UNIX commands.
Audience
- MySQL Enterprise application developer and DevOps
- MySQL and MariaDB database administrators and DevOps
- System administrators with database responsibility
Contents
MySQL Enterprise operations (1 day)
- Installation and configuration of MySQL Enterprise
- Backup and restore with
mysqldumpandmysqlbackup(MySQL Enterprise Backup (MEB)) - Point-in-Time-Recovery (PiTR)
- Security
MySQL Enterprise High Availability (1.5 days)
- MySQL Enterprise architectures
- Master/Slave replication
- Master/Master replication
- Advanced MySQL replication Topics
- GTID based replication
- MySQL Group Replication (GR)
- InnoDB Cluster …
Taxonomy upgrade extras: operations, workshop, training, mysql training, high availability, mysql enterprise,
Galera Cluster and Antivirus Scanner on Linux
Today we had to investigate in a very strange behaviour of IST and SST on a MariaDB Galera Cluster.
The symptom was, that some Galera Cluster nodes took a very long time to start. Up to 7 minutes. So the customer was concluding that the Galera Cluster node does an SST instead of an IST and was asking why the SST happens.
It have to be mentioned here, that the MariaDB error log is very confusing about whether it is an SST or an IST. So the customer was confused and concluded, that MariaDB Galera Cluster was doing an SST instead of IST.
Further confusing was that this behaviour was not consistently on all 3 nodes and not consistently on the 3 stages production, test and integration.
First we had to clear if the Galera node was doing an IST or an SST to exclude problems with Galera Cache or event Bugs in MariaDB Galera Cluster. For this we were running our famous insert_test.sh and did some node restarts with forcing SST and without.
As a Galera Cluster operator you must mandatorily be capable to determine which …
Taxonomy upgrade extras: galera cluster, ist, sst, noisy neighbours,
First Docker steps with MySQL and MariaDB
The Docker version of the distributions are often quite old. On Ubuntu 16.04 for example:
shell> docker --version
Docker version 1.13.1, build 092cba3
But the current docker version is 17.09.0-ce (2017-09-26). It seems like they have switched from the old version schema x.y.z to the new year.month.version version schema in February/March 2017.
Install Docker CE Repository
Add the Docker’s official PGP key:
shell> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
Add the Docker repository:
shell> echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu <br>
$(lsb_release -cs) <br>
stable" > /etc/apt/sources.list.d/docker.list
shell> apt-get update
Install or upgrade Docker:
shell> apt-get install docker-ce
shell> docker --version
Docker version 17.09.0-ce, build afdb6d4
To test your Docker installation run:
shell> docker run --rm hello-world
Add Docker containers for MariaDB, MySQL and MySQL Enterprise Edition …
Taxonomy upgrade extras: docker, mysql, mariadb, container,
MariaDB Master/Master GTID based Replication with keepalived VIP
Important: FromDual does NOT recommend to use an automated VIP failover technology as described below for a MariaDB/MySQL Master/Master Replication. In such a topology we recommend a manual VIP failover with prepared scripts!
Some of our customers still want to have old-style MariaDB Master/Master Replication Clusters. Time goes by, new technologies appear but some old stuff still remains.
The main problem in a Master/Master Replication set-up is to make the service highly available for the application (applications typically cannot deal with more than one point-of-contact). This can be achieved with a load balancer (HAproxy, Galera Load Balancer (GLB), ProxySQL or MaxScale) in front of the MariaDB master/master replication cluster. But the load balancer by it-self should also become highly available. And this is typically achieved by a virtual IP (VIP) in front of one of the load balancers. To make operations of the VIP more handy the VIP is controlled by a service like keepalived or corosync.

Figure 1: …
Taxonomy upgrade extras: mariadb, master-master, keepalived, vip, replication, gtid,
Galera Load Balancer the underestimated wallflower
There are some pretty sophisticated Load Balancers for Galera Clusters setups out in the market (ProxySQL, MaxScale, HAproxy, …). They have many different exotic features. You can nearly do everything with them. But this comes at the cost of complexity. Non of them is simple any more.
A widely underestimated Load Balancer solution for Galera Cluster setups is the Galera Load Balancer from Codership. It is an simple Load Balancer solution which serves all of our daily needs when it comes to Galera Cluster. Unfortunately this product is not much promoted by the software vendor himself.
Installation of Galera Load Balancer
This starts with the installation. There are no packages ready to install. You have to compile Galera Load Balancer yourself. FromDual provides some compiled packages or can help you building and installing it.
You can get the Galera Load Balancer sources from Github. The binaries are built straight forward:
shell> git clone https://github.com/codership/glb
shell> cd glb/ …Taxonomy upgrade extras: galera cluster, glb, load balancer, operations,
Solution: Slow Queries not using Indexes
There are 2 different ways to solve this task.
The first way is by enabling the variable log_queries_not_using_indexes (MariaDB/MySQL). This can be done eigther online:
sql> SHOW GLOBAL VARIABLES LIKE 'log_quer%';
+-------------------------------+-------+
| Variable_name | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF |
+-------------------------------+-------+
sql> SET GLOBAL log_queries_not_using_indexes = ON;
or offline in the my.cnf configuration file:
[mysqld]
log_queries_not_using_indexes = 1
As soon as this configuration is active your MariaDB/MySQL database server will write all queries not using an index into the Slow Query Log file which its location you can find as follows:
sql> SHOW GLOBAL VARIABLES WHERE variable_name IN ('log_output')
OR variable_name LIKE 'slow_query%';
+---------------------+----------+
| Variable_name | Value |
+---------------------+----------+
| log_output | FILE |
| …Taxonomy upgrade extras:
Solution: SELECT Query with LAST_INSERT_ID()
The query is so evil/slow because it does a Full Index Scan (FIS). Other call this operation also a Index Fast Full Scan (IFFS). This is much too much work for the result wanted (the value of the AUTO_INCREMENT column).
This can be shown with the Query Execution Plan you get with the EXPLAIN command:
sql> EXPLAIN SELECT LAST_INSERT_ID() FROM test;
+------+-------------+-------+-------+---------------+---------+---------+------+---------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+------+-------------+-------+-------+---------------+---------+---------+------+---------+-------------+
| 1 | SIMPLE | test | index | NULL | PRIMARY | 4 | NULL | 1048577 | Using index |
+------+-------------+-------+-------+---------------+---------+---------+------+---------+-------------+
sql> EXPLAIN FORMAT=JSON SELECT LAST_INSERT_ID() FROM test;
{
"query_block": {
"select_id": 1, …Taxonomy upgrade extras:
Find evil developer habits with log_queries_not_using_indexes
Recently I switched on the MariaDB slow query logging flag log_queries_not_using_indexes just for curiosity on one of our customers systems:
mariadb> SHOW GLOBAL VARIABLES LIKE 'log_quer%';
+-------------------------------+-------+
| Variable_name | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF |
+-------------------------------+-------+
mariadb> SET GLOBAL log_queries_not_using_indexes = ON;
A tail -f on the MariaDB Slow Query Log caused a huge flickering on my screen.
I got to see about 5 times per second the following statement sequence in the Slow Query Log:
# User@Host: app_admin[app_admin] @ [192.168.1.42] Id: 580195
# Query_time: 0.091731 Lock_time: 0.000028 Rows_sent: 273185 Rows_examined: 273185
SELECT LAST_INSERT_ID() FROM `placeholder`;
# Query_time: 0.002858 Lock_time: 0.000043 Rows_sent: 6856 Rows_examined: 6856
SELECT LAST_INSERT_ID() FROM `data`;
So at least 5 times 95 ms (5 x (92 + 3) = 475 ms) per 1000 ms (48%) where …
Taxonomy upgrade extras: query tuning, optimizer, index, index scan, last_insert_id, explain, slow, log,

