Transport Layer Security (TLS, also often referred to as SSL) is an important component of a secure MySQL deployment, but the complexities of properly generating the necessary key material and configuring the server dissuaded many users from completing this task. MySQL Server 5.7 simplifies this task for both Enterprise and Community users. …
Transport Layer Security (TLS, also often referred to as SSL) is an important component of a secure MySQL deployment, but the complexities of properly generating the necessary key material and configuring the server dissuaded many users from completing this task. MySQL Server 5.7 simplifies this task for both Enterprise and Community users. Previous blog posts have detailed the changes supporting Enterprise builds; this blog post will focus on parallel improvements made to MySQL Community builds.
Introducing …
[Read more]English: The Madrid MySQL Users Group is pleased to announce its next meeting on February 10th 2016 at 7pm at the offices of Tuenti in Gran Via, Madrid. Morgan Tocker of Oracle will be visiting to give a talk on MySQL 5.7 and JSON as part of a European tour. This will give you an an … Continue reading MMUG15: MySQL 5.7 & JSON
The post MMUG15: MySQL 5.7 & JSON first appeared on Simon J Mudd's Blog.
I've ran a simple test to see the performance impact of TLS on
MySQL connections with MySQL Connector/Python
The test results are in this Jupyter notebook.
TL;DR:
- Try to reuse connections if you use TLS
- Establishing TLS connections is expensive (server & client)
- Improved performance might be possible in the future by using TLS Tickets
Not tested:
- Difference between YaSSL and OpenSSL
- Difference between Ciphersuites
- Performance of larger resultsets and queries
InnoDB and the Thread
Sanitizer do not work well together in MySQL 5.7. There are hundreds of possible
data races reported by the Thread Sanitizer in the InnoDB code
for the simplest case of initializing the MySQL server and
shutting it down. Luckily, most of these data races are
benign. The problem of finding an interesting data race in
the InnoDB software is similar to finding evidence of a
sub-atomic particle in a particle accelerator; many Thread
Sanitizer events must be analyzed before something interesting is
found.
One example of a benign data race is InnoDB's implementation of
fuzzy counters. A …
When trying out new software there are many other questions you may ask and one of those is going to be the one above. The answer requires you to have built your software to capture and record low level database metrics and often the focus of application developers is slightly different: they focus on how … Continue reading Is MySQL X faster than MySQL Y? – Ask queryprofiler
The post Is MySQL X faster than MySQL Y? – Ask queryprofiler first appeared on Simon J Mudd's Blog.
In many types of database workloads, using a multi-threaded slave from 5.6+ helps improve replication performance. I’ve had a number of users enable this feature, but have not seen anyone ask how each thread is performing. Here’s a quick way with Performance_Schema to measure the amount of multi-threaded slave activity on each thread (after you have already configured MTS on your slave of course ).
First, we need to enable the
statements
instruments:
slave1> UPDATE setup_consumers SET ENABLED = 'YES' WHERE NAME LIKE 'events_statements_%'; Query OK, 2 rows affected (0.00 sec) Rows matched: 3 Changed: 2 Warnings: 0
Next, let’s find the
THREAD_ID
for our slave workers:
slave1> SELECT THREAD_ID, …[Read more]
Knowing which privileges a given account has is easy – just issue SHOW GRANTS FOR user@host. But what about when you need visibility into privileges from the other direction – which accounts can access specific data? If you’re a DBA – or perform DBA duties, regardless of your title – you may have been asked this question. It’s an important question to ask in an audit or compliance review – but it can be a difficult question to answer. This post will walk through how to assess this, but if you’re impatient and need answers to this question immediately, jump to the end – there’s a simple shortcut.
Things to consider
There are a few things you’ll want to consider about the implementation of the MySQL privilege system as you try to sort out who has access to certain data.
Access type
MySQL can restrict privileges based on operations – somebody who has …
[Read more]Percona is glad to announce the first release candidate of Percona Server 5.7.10-1 on December 14, 2015. Download the latest version from the Percona web site or from the Percona Software Repositories.
This release contains all the bug fixes from latest Percona Server 5.6 release (currently Percona Server 5.6.27-76.0).
New …
[Read more]With Unicode it is possible for strings to look the same, but with slight differences in which codepoints are used.
For example the é in Café can be <U+0065 U+0301> or <U+00E9>.
The solution is to use Unicode normalization, which is supported in every major programming language. Both versions of Café will be normalized to use U+00E9.
In the best situation the application inserting data into the database will do the normalization, but that often not the case.
This gives the following issue: If you search for Café in the normalized form it won't return non-normalized entries.
I made a proof-of-concept parser plugin which indexes the normalized version of words.
A very short demo:
mysql> CREATE TABLE test1 (id int auto_increment primary key, -> txt TEXT CHARACTER SET utf8mb4, fulltext (txt)); Query OK, 0 rows affected (0.30 sec) mysql> CREATE TABLE test2 (id int …[Read more]