Percona Server and Percona XtraDB Cluster provide high-performance alternatives for MySQL users. We have also seen rapidly growing interest in these solutions in the OpenStack community where higher performance and high availability are crucial. Many OpenStack users are adopting these solutions but we’ve also seen demand from companies creating OpenStack distros. For example, Percona XtraDB Cluster is now certified for the RHEL OSP (OpenStack Platform) and is included in the Ubuntu 14.04 LTS release. …
[Read more]The 5.7.5 DMR is now available, and we’ve made some changes to our build system in this one, so I wanted to spend some time discussing how you would now build MySQL.
When we released our April labs release, I wrote about building MySQL with Boost. Now that the first GIS work using Boost.Geometry has passed all the hurdles and landed in a development milestone release (DMR), it’s time to revisit the topic. From now on (5.7.5 and newer), MySQL needs Boost headers to compile. It’s not optional.
We got a few bug …
[Read more]When ALTER TABLE crashes MySQL server it leaves orphaned records in InnoDB dictionary. It is annoying because next time you run the same ALTER TABLE query it will fail with error:
ERROR 1050 (42S01) at line 1: Table 'sakila/#sql-ib712' already exists
The post explains why it happens and how to fix it.
When you run ALTER table InnoDB follows the plan:
- Block the original table
- Create an empty temporary table with the new structure. The name of the new table is something like #sql-ib712.
- Copy all records from the original table to the temporary one
- Swap the temporary and original tables
- Unblock the original table
The temporary table is a normal InnoDB table except it’s not visible to a user. InnoDB creates a record in the dictionary for the temporary table as for any other table.
If MySQL crashes in the middle of the …
[Read more]I was asked some questions on IRC last night about how the query example in libAttachSQL's code base works. For those who missed previous posts, libAttachSQL is a lightweight, non-blocking, Apache 2.0 licensed C connector for MySQL servers which I am developing for HP's Advanced Technology Group.
In this blog post I'm going to break down a basic query example and explain what is happening at each step. It is possible that this syntax may change slightly by the time we hit GA but it will be similar to this.
#include <libattachsql-1.0/attachsql.h> #include <stddef.h> #include <stdio.h> #include <string.h>
Only one include is needed for the library itself, libattachsql-1.0/attachsql.h. The others are used for other functions in the code. …
[Read more]New to TokuDB® v7.5 is a feature we’re calling “Read Free Replication” (RFR). RFR allows TokuDB replication slaves to process insert, update, and delete statements with almost no read IO. As a result, the slave can easily keep up with the master (no lag) as well as brings all the read IO capacity of the slave for read-scaling your workload.
The goal of this blog is two-fold: (1) to cover why RFR is important and how RFR works and (2) to run a simple before/after benchmark showing the impact of RFR on a well known workload. Later this week I’ll post another blog showing other interesting use-cases for RFR beyond this first benchmark.
Read Free Replication: The Why and How
In MySQL, a replication slave does less work than the master because there is no need for a slave to execute SELECT statements (only INSERT, UPDATE, and DELETE). However, a MYSQL slave can struggle to keep up with the master because replication is …
[Read more]libAttachSQL Query Example
I was asked some questions on IRC last night about how the query example in libAttachSQL’s code base works. For those who missed previous posts, libAttachSQL is a lightweight, non-blocking, Apache 2.0 licensed C connector for MySQL servers which I am developing for HP’s Advanced Technology Group.
In this blog post I’m going to break down a basic query example and explain what is happening at each step. It is possible that this syntax may change slightly by the time we hit GA but it will be similar to this.
#include <libattachsql-1.0/attachsql.h> #include <stddef.h> #include <stdio.h> #include <string.h>
Only one include is needed for the library itself, libattachsql-1.0/attachsql.h. The others are …
[Read more]September 22, 2014 By Severalnines
Need to add phone and SMS alerting to ClusterControl? ClusterControl 1.2.8 introduces support for PagerDuty, an alerting service for Ops teams to schedule on-calls and add phone and SMS notifications to IT tools. By integrating PagerDuty with ClusterControl, you can start receiving phone, SMS and email notifications for all important database events as monitored by ClusterControl. Alerts go directly to the right person who can solve the issue.
This integration is possible thanks to a new plugin interface, that takes ClusterControl alarms in JSON format and outputs to an external system via plugins. Plugins can be either scripts or executable binaries.
We have built a few example …
[Read more]Normally, when we want to start PXC (Percona XtraDB Cluster) on RHEL/CentOS 6 or older then that, we can simply start with init.d script or service command. i.e
shell> /etc/init.d/mysql start OR shell> /etc/init.d/mysql bootstrap-pxc
shell> service mysql start.
But, the way is changed from CentOS 7. Because systemd integration with RHEL/CentOS 7 is now available for Percona XtraDB Cluster (#1342223).
So now, we have to start mysql with systemctl command i.e
shell> systemctl start mysql
For boostrap,
shell> systemctl start mysql@bootstrap.service
I would also suggest to read one very informative post by Przemek for recovering PXC cluster. …
[Read more]
I've been working on the CIS security benchmark for Oracle MySQL
5.6. There already is a benchmark document for earlier versions
of MySQL.
The benchmark document helps you to ensure you have a secure
configuration for MySQL.
Center for Internet Security (CIS) is a nonprofit
organization.
The Call For Participation is now open.
If you are already a CIS member then you can download the
document here. If you don't have an account you can
register for free.
This is the next chapter of the story started in my previous article and related to the updated results on LinkBench workload
published by MariaDB..
Keeping in mind that the obtained results are completely opposite
from both sides, I've started to investigate then the same
LinkBench-150GB 64 concurrent users workload from the "most
favorable" possible test conditions on the same 40cores-HT server
as in my previous article:
- InnoDB Buffer Pool (BP) = 150G (so, all the data may remain in memory)
- innodb_flush_log_at_trx_commit=2 (so, REDO write are not flushed once per second and not on every transaction)
- no …