News
FromDual Ops Center 1.2.0 for MariaDB, MySQL and compatible databases has been released
FromDual has the pleasure to announce the release of the new version 1.2.0 of its popular FromDual Ops Center focmm, a Graphical User Interface (GUI) for MariaDB, MySQL and compatible databases.
The FromDual Ops Center for MariaDB and MySQL (focmm) helps DBA’s and System Administrators to better manage their MariaDB and MySQL databases and Galera Cluster farms. Ops Center makes DBA and Admins life easier!
The main task of Ops Center is to support you in your daily MariaDB and MySQL operation tasks. …
Taxonomy upgrade extras: Operations Release Fromdual Ops Center Ops Center Dbaas Focmm
Systemd related stuff for MariaDB and MySQL
Table of Contents
- Systemd Notizen
- InnoDB NUMA interleave with MariaDB
- Checking Galera Cluster SST timeout with Systemd
- Kill MariaDB Galera node under Systemd
- MariaDB Memory locking (
--memlock) with Systemd - Who is restarting my
mariadbd? - Location of Systemd unit files
Systemd Notizen
Systemd paged per default nach less. Das ist ungewohnt und doof, weil es gegen allgemeines Linux-Verhalten verstösst. Abhilfe schafft:
$ systemctl --no-pager status
$ alias systemctl='systemctl --no-pager'
Das selbe können …
Taxonomy upgrade extras: Systemd Operating System Open_files_limit Limitnofile Galera Sst
Comparing Optimizer Results
A while ago I read a paper about Optimizer Benchmarks: How Good Are Query Optimizers, Really? by Viktor Leis from Fakultät für Informatik of the Technische Universität München.
Because we have from time to time problems with slow queries of customers especially after upgrading to new database releases it is interesting for me, how different optimizers cope with a query. Sometimes it is not clear to me why the query is slow or how I can make it faster. So the mentioned paper inspired me to compare the same …
Taxonomy upgrade extras: Postgresql Optimizer Performance Response Time Latency
Migration of your data from one database to another
Before you consider migrating your data from MySQL to another database you have to know which objects have to be migrated.
With this query you will find the objects to consider:
SELECT TABLE_SCHEMA AS `SCHEMA`, IF(TABLE_TYPE = 'BASE TABLE', 'TABLE', TABLE_TYPE) AS OBJECT_TYPE, TABLE_NAME AS `OBJECT_NAME`
, IFNULL(ENGINE, '') AS ENGINE, IFNULL(TABLE_ROWS, '') AS `ROWS`
, IFNULL(DATA_LENGTH, '') AS DATA_SIZE, IFNULL(INDEX_LENGTH, '') AS INDEX_SIZE
FROM information_schema.tables
WHERE TABLE_SCHEMA …Taxonomy upgrade extras: Migration Database
Graphical User Interfaces (GUI) for MariaDB and MySQL
If you do not feel at home on the command line, you may prefer to use a graphical user interface (GUI). These also have advantages, for example when displaying data or structures, or they can simplify and therefore speed up work processes.
There are two main types of graphical user interfaces: On the one hand, the Integrated Development Environments (IDE), and on the other hand, tools that support the administration of the database.
This list contains all known graphical user interfaces for MariaDB and …
Taxonomy upgrade extras: Gui Graphical User Interface
Filter in WHERE Clause versus Filter in ON clause
Sometimes SQL developers ask me if there is a difference between putting the Filter in the WHERE Clause and putting the Filter in the ON Clause and if yes, what the difference is. To explain it the best I have stolen a little example (Source at the end):
CREATE TABLE department (
department_id INT UNSIGNED NOT NULL
, department_name VARCHAR(14)
, location VARCHAR(13)
, PRIMARY KEY (department_id)
);
INSERT INTO department (department_id, department_name, location)
VALUES
(10, 'ACCOUNTING', …Taxonomy upgrade extras: Join Outer Join Inner Join Left Outer Join Right Outer Join Where
Linux Container with Incus for focmm unit testing
Currently we are in the testing phase of the next release of our Ops Center (focmm). This testing is quite complex because it includes testing the interaction of various different components like a MariaDB Galera Cluster, a Galera Load Balancer, a virtual IP, etc.
Recently I was in the Linuxhotel for a Galera Cluster Training and there one of the other trainers was romanticising about Linux Containers and Incus. So I had a short look, if Incus could be useful to simplify our unit testing. Some old knowledge …
Taxonomy upgrade extras: Container Incus Testing Unit Testing Galera Load Balancer Lxd
FromDual Performance Monitor for MariaDB/MySQL allows SNMP monitoring
The newest release of the Performance Monitor for MariaDB and MySQL v2.0.0 (fpmmm) allows you to monitor your MariaDB and MySQL databases via SNMP (Simple Network Management Protocol).
This feature enables you to report your Database Metrics into Enterprise Monitoring solutions from Microsoft, IBM or into Oracle Cloud Control.
In this article we will show you the few simple steps it needs to send the data from your fpmmm Agent to your SNMP Manager.
Check if SNMP Manager can be reached
To make sure fpmmm can …
Taxonomy upgrade extras: Performance Performance Monitoring Monitor Fpmmm Snmp
FromDual Performance Monitor for MariaDB 2.0.0 has been released
FromDual has the pleasure to announce the release of the new version 2.0.0 of its popular Database Performance Monitor for MariaDB and Galera Cluster fpmmm.
The FromDual Performance Monitor for MariaDB (fpmmm) enables DBAs and System Administrators to monitor and understand what is going on inside their MariaDB database instances and on the machines where the databases reside.
More detailed information you can find in the fpmmm Installation Guide.
Download
The new FromDual Performance Monitor for MariaDB ( …
Taxonomy upgrade extras: Performance Monitor Monitoring Fpmmm Maas Release Graph
MariaDB MaxScale Load Balancer with Master/Master Replication
For this how-to we were working with a MariaDB 10.6.5 database server and the newest MariaDB MaxScale 6.3.0 (aka 2.6) load balancer/proxy.
As a starting point we had a working MariaDB Master/Master replication with one active Master (Ma) and one passive Master (Mp). Whereas the passive Master was set to read_only. As a replication user we used the user replication.
Creating database accounts for the MaxScale Load Balancer
The MaxScale load balancer connects itself with the application users to the database. …
Taxonomy upgrade extras: Replication Maxscale Load Balancer Proxy Active-Active Master-Master Mariadb
Streaming backup with MariaDB Backup
Because the original MariaDB documentation is a little bit sparse about this topic here are some notes about how to do a streaming MariaDB backup:
# mariadb-backup --user=root --backup --parallel=4 --stream=mbstream | ssh root@target_machine "/usr/bin/mbstream -x -C /var/lib/mysql/"
# mariadb-backup --user=root --prepare --target-dir=/var/lib/mysql
Taxonomy upgrade extras:
FromDual Backup and Recovery Manager for MariaDB and MySQL 2.2.5 has been released
FromDual has the pleasure to announce the release of the new version 2.2.5 of its popular Backup and Recovery Manager for MariaDB and MySQL (brman).
The new FromDual Backup and Recovery Manager can be downloaded from here. The FromDual Repositories were updated. How to install and use the Backup and Recovery Manager is described in FromDual Backup and Recovery Manager (brman) installation guide.
In the inconceivable case that you find a bug in the FromDual Backup and Recovery Manager please report it to the …
Taxonomy upgrade extras: Backup Restore Recovery Pitr Brman Release Bman Rman Fromdual Backup and Recovery Manager
One thought about scaling applications
Are containers so popular because application developers do not know how to write multi-threaded applications well? With containers you can circumvent this problem a bit. You ramp up man single threaded applications in containers and thus get a multi-threaded behaviour.
Databases ARE already multi-threaded. So no need to containerize them.
Taxonomy upgrade extras:
Sharding do-it-yourself
As already mentioned earlier, we roughly have a hand full of customers which are playing with the though of sharding solutions. They typically have many different customers (clients, tenants) and the number of customers becomes so huge (thousands to millions) that one machine cannot cope with the load any more.
So splitting the load by customers to different machines makes sense. This is quite easy when customers are separated per schema. In the good old times of Open Source our customers have implemented …
Taxonomy upgrade extras: Sharding Multi-Tenant
Containers and databases
In the last months we got more and more requests for supporting MariaDB/MySQL/Galera Cluster in (mostly Docker) containers.
Because of its additional layer and added complexity I do not like containers much. Containers are more complicated during troubleshooting and debugging problems.
Other people have already written more than enough about the advantages of containers. What is more difficult to find are the disadvantages of technologies. Thus I focus on those:
Wrong technology?
Container solutions were …
Taxonomy upgrade extras: Container Docker Kubernetes
Sharding solutions
Once in a year or so we get a request of a customer about MariaDB/MySQL sharding solutions. So here we have a list of sharding solutions we are currently aware of:
- MySQL Fabric: A Brief Introduction to MySQL Fabric This product is discontinued by MySQL in the meanwhile!
- Spider Storage Engine for MariaDB: Spider Storage Engine Overview
- MariaDB MaxScale: Simple Sharding with Two Servers and Schema Router
- ProxySQL: Sharding in ProxySQL
- PingCap TiDB (Titan DB): Release Candidate der verteilten Datenbank TiDB …
Taxonomy upgrade extras: Sharding Spider Multi-Tenant
Learning from the Bugs Database
This week I came across an old known issue reported in May 2010: Master/Slave Replication with binlog_format = ROW and tables without a Primary Key is a bad idea! Especially if these tables are huge.
Why this is a bad idea is described in the bug report #53375:
if one runs DML on a table that has no indexes, a full table scan is done. with RBR, the slave might need to scan the full table for each row changed.
The consequence of this behaviour is that the Slave starts lagging. It was further mentioned: …
Taxonomy upgrade extras: Primary Key Replication Row Based Replication (Rbr) Statement Based Replication (Sbr)
MariaDB Deadlocks
We get ever and ever again customer requests concerning Deadlocks. First of all, Deadlocks are usually an application problem, not a database problem! The database itself manifests the application problem with the following message which is sent to the application as an error:
ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction
If your application receives this error message you know where in your application you have a problem. But a deadlock is always a problem between …
Taxonomy upgrade extras: Deadlock
Anonymous PL/SQL block
Is this not just a simple an Anonymous PL/SQL Block?
Taxonomy upgrade extras:
MariaDB Devroom at FOSDEM 2022 CfP is now open
Also in 2022 there will be a FOSDEM (Free and Open source Software Developers’ European Meeting) on 5 and 6 February 2022. This time again online from Brussels (Belgium).
MariaDB has again its own Devroom and the Call for Papers (CfP) is now open for your submissions. We are looking for interesting topics about your daily business, technical presentations, war stories, point of views of management, etc. The deadline for the CfP is before 21 December 2021.
For further information about how to submit a …
Taxonomy upgrade extras: Fosdem 2022 Developer Social Event

