Showing entries 1 to 10 of 37125
10 Older Entries »
MySQL Day – Sessions review #7

Today I will present the unique ProxySQL session of the pre-FOSDEM MySQL Day. Alkin Tezuysal will share with the audience ProxySQL Use Case Scenarios

Alkin is Senior Technical Manager at Percona and has extensive experience in enterprise relational databases working in various sectors for large corporations. With more then 20 years of industry experience he has acquired skills for managing large projects from ground up to production. For the past six years he’s been focusing on e-commerce, SaaS and MySQL technologies. He managed and architected database topologies for high volume site at eBay Intl. He has several years of experience on 24X7 support and operational tasks as well as improving …

[Read more]
MySQL & Friends Community Dinner 2017 – Looking for sponsors

Hi dear MySQL Community,

I would like to start this post by saying thanks to our sponsors:

Unfortunately, we are missing one sponsor and to not increase the ticket price but at the same time keep the level of quality for food then promised and the same diversity for our world famous Belgian beer patrimony, we are still looking for one or two …

[Read more]
MySQL Cluster up and running in less than 4 minutes

This blog is full of graphics.
A while ago I decided to try out the MySQL Cluster Auto Installer.
I have my own scripts and tools to work with MySQL Cluster so
I don't normally need to use it. But I wanted to know what it could
do and could not do. So I decided to take it for a spin.

I was actually positively surprised. It was very quick to get up and running.
Naturally as with any graphics tool it will get you to a point, if it meets issues
it can be hard to discover the issues. But there are ways to debug it as well
and naturally you have access to all MySQL log files as well as all the
NDB log files.

My personal takeaway is that the MySQL Cluster Auto Installer is a very good
tool for developing applications towards MySQL Cluster. For a production
installation I would probably want a bit more control over things and would
most likely …

[Read more]
Security Vulnerability CVE-2016-6664 / CVE-2016-5617

Security Vulnerability CVE-2016-6664 / CVE-2016-5617 rasmusjohansson Wed, 01/18/2017 - 13:23

During the fall there were a couple of vulnerabilities found that could be used for privilege escalations in conjunction with race conditions. These were:

  • CVE-2016-6662 MySQL Remote Root Code Execution / Privilege Escalation 0day

  • CVE-2016-6663 Privilege Escalation / Race Condition (also referred to as CVE-2016-5616)

  • CVE-2016-6664 Root Privilege Escalation (also referred to as CVE-2016-5617)

I’ve published two blog posts about these vulnerabilities before:

[Read more]
Python and the MySQL Document Store

The MySQL Document Store and X Devapi have a lot of very interesting features but right now my programming language of choice, PHP, is not yet supported. My Python is rusty and learning Node.JS is progressing. But the ability to search data from a database without knowing Structured Query Language (SQL) is going to appeal to many. Example One

import mysqlx
import string

session = mysqlx.get_session({
'host': 'localhost',
'port': 33060,
'user': 'dstokes',
'password': 'Hell0Dave!'})

schema = session.get_schema('world_x');
collection = schema.get_collection('countryinfo')

print "Find three records***\n"
result = collection.find().limit(3).execute()
docs = result.fetch_all()

for i, data in enumerate(docs):
print "{iteration}: {data}".format(iteration = i, data=data)

print "Find USA***\n"
result = collection.find('_id = "USA"').execute()
row = …
[Read more]
Why I wrote "please do not ignore warnings" and "to always investigate/fix warnings" (in MySQL/MariaDB)

In a last post, I wrote the two following sentences:

please do not ignore warnings always investigate/fix warnings

I realized that without context, this might be hard to understand.  In this post, I want to give more background about these two sentences.

In my work, I have seen problems solved (wrongly) by ignoring warnings.  Some example that comes to my mind:

upgrading to a new MySQL

Taking Full Advantage of Galera Multi-Master Replication-Galera Cluster Resources Updated

Last year Codership produced a lot of valuable content to help Galera users to get started with Galera and manage Galera. We have gathered  the resources to our website.

Taking Full Advantage of Galera Multi-Master replication video can be watched here.

We have now uploaded Slideshare with many new presentations. Check them out!

The best source of multi-master Galera Cluster help,  Galera Cluster documentation, is being updated constantly.

MySQL Day – Sessions review #6

Let’s continue the review of the pre-FOSDEM MySQL Day‘s schedule. Today’s session is the one of Sveta Smirnova: What you wanted to know about your MySQL Server instance, but could not find using internal instrumentation only

Sveta Smirnova works as MySQL Support engineer since year 2006, she is also author of book “MySQL Troubleshooting” and author of JSON UDF functions for MySQL. In years 2006 – 2015 she worked in Bugs Analysis MySQL Support Group in MySQL AB, then Sun, then Oracle. In March 2015 Sveta joined Support Team in Percona. In years 2012-2015 she worked on bugs priority. She was also Support representative in MySQL Backup Development Team. She …

[Read more]
How to implement secondary indexes

This post is about implementing secondary indexes on top of an ordered key-value store. This topic is interesting for at least two reasons. First, you may actually need to do this if you’re implementing secondary indexes on top of something like LevelDB, RocksDB, Bolt, or some other key-value storage library. Second, seeing how this is done from an implementation perspective can help you understand how databases like MySQL and PostgreSQL handle secondary indexes.

Suppose we have a table implemented on top of a key-value store. Specifically, assume that the key-value store has unique, ordered keys.

Here’s the row definition:

Row := (id, username, email, deleted timestamp, name)

There are five columns. We’ll let id be the primary key. There’s a deleted column to allow usernames to be reused. More on that later.

Here’s what the table would look like when …

[Read more]
Insert benchmark, MyRocks and InnoDB

I haven't been sharing many performance results on my blog as I have been saving results for my conference talks. Later this year I expect to blog more and travel less. Today I will share two results from the insert benchmark to compare MyRocks and InnoDB.

tl;dr - both are expected

  • MyRocks insert performance doesn't degrade when the database is larger than memory
  • InnoDB in MySQL 5.7 scales much better than in MySQL 5.6 for in-memory workloads
  • InnoDB in MySQL 5.7 wins for in-memory, MyRocks wins for io-bound


This test does inserts in PK order into a table with 3 secondary indexes. Without the secondary indexes the workload is friendly to a b-tree. But secondary index for a b-tree is read-modify-write and the reads from and writes to storage will make InnoDB slower when the working set doesn't fit into RAM. InnoDB is likely to …

[Read more]
Showing entries 1 to 10 of 37125
10 Older Entries »