Showing entries 1 to 10 of 18683
10 Older Entries »
Displaying posts with tag: MySQL (reset)
MySQL Group Replication: who is the primary master ??

As you know, MySQL Group Replication runs by default in single primary mode.

mysql2 mysql> show global variables like 'group_replication_single_primary_mode';
| Variable_name                         | Value |
| group_replication_single_primary_mode | ON    |

But how can we easily find which member of the group is the Primary-Master ?

Of course you could check which one is not in read_only:

mysql2 mysql> select @@read_only;
| @@read_only |
|           1 |

But then you need to perform this on all the nodes one by one until you find the right one.

The primary …

[Read more]
The Puzzling Performance of the Samsung 960 Pro

In this blog post, I’ll take a look at the performance of the Samsung 960 Pro SSD NVME.

First, I know the Samsung 960 Pro is a consumer SSD NVME drive, not intended for sustained data center workloads. But the AnandTech review looked good enough that I decided to take it for a test spin to see if it would work well with MySQL benchmarks.

Before that, I decided to do a simple sysbench file IO test to see how the drives handled sustained workloads, and if it would start acting up.

My expectation for a consumer SSD drive is that its write consistency will suffer. Many of those drives can sustain high bursts for short periods of time but have to slow down to keep up with write leveling (and other …

[Read more]
Percona Server for MySQL 5.5.54-38.7 is Now Available

Percona announces the release of Percona Server for MySQL 5.5.54-38.7 on March 22, 2017. Based on MySQL 5.5.54, including all the bug fixes in it, Percona Server for MySQL 5.5.54-38.7 is now the current stable release in the 5.5 series.

Percona Server for MySQL is open-source and free. You can find release details in the 5.5.54-38.7 milestone on Launchpad. Downloads are available here and from the Percona Software Repositories.

[Read more]

BIT values cannot be loaded using binary notation (for example, b'011010').

$ cat test.txt



CREATE TABLE loadTest (b BIT(6));


| Level   | Code | Message                               |
| Warning | 1406 | Data too long for column 'b' at row 1 |
| Warning | 1406 | Data too long for column 'b' at row 2 |

-- Note the wrong values:

SELECT BIN(b) FROM loadTest;
| BIN(b) |
| 111111 |
| 111111 |

TRUNCATE loadTest;

LOAD DATA LOCAL INFILE 'test.txt' INTO TABLE loadTest (@b) 
  SET b = CAST(CONV(TRIM('''' FROM SUBSTRING_INDEX(@b, 'b', -1)), 2, 10) AS …
[Read more]
MariaDB Galera Cluster 10.0.30 and Connector/J 1.5.9 now available

The MariaDB project is pleased to announce the immediate availability of MariaDB Galera Cluster 10.0.30 and MariaDB Connector/J 1.5.9. Both of these are stable (GA) releases. See the release notes and changelogs for details. Download MariaDB Galera Cluster 10.0.30 Release Notes Changelog What is MariaDB Galera Cluster? MariaDB APT and YUM Repository Configuration Generator Download […]

The post MariaDB Galera Cluster 10.0.30 and Connector/J 1.5.9 now available appeared first on

Multi-Source Replication

A basic MySQL or MariaDB replication arrangement uses a simple method to perform replication. Any changes to schema or data on the master are recorded in its binary log. The slave regularly asks the master for any new entries to its binary log, based on position numbers in that log. The slave will record any new entries the master sends it in a relay log and then execute them on its copy of the databases. This system works well with a straightforward master-slave configuration, when there is only one master and one or more slaves.

With recent releases of MySQL and MariaDB, a slave can have multiple sources for replication. This may seem absurd at first until you consider one of the inherent points of replication: load balancing. Slaves are typically used for Read load balancing—to spread traffic related to SELECT statements among several servers. With multi-source replication, Writes can also be load balanced. For a large organization with …

[Read more]
Fun With Bugs #50 - On Bugs Tagged as "missing manual"

Back in January 2014, some time after many nice people kindly asked me to shut up stop writing about MySQL bugs on Facebook several times per day, I decided to start reading the fine MySQL Manual more carefully than before and report not only typos there, but also any topic or detail not properly explained. Usually these reports, tagged as "missing manual", were the result of careful study of the documentation based on real user question or customer issue. So, most of these reports came from real life, and missing information badly affected poor MySQL users.

Today, for this issue #50 in my series of posts about MySQL bugs, I decided to list and …

[Read more]
Who are you? The history of MySQL and MariaDB authentication protocols from 1997 to 2017

MySQL 3.20 to 4.0 In the good old days, when 32MB of RAM justified the name my-huge.cnf, when nobody knew Google and Facebook didn’t even exist, security was… how do I put it… kind of cute. Computer viruses didn’t steal millions and didn’t disrupt elections — they played Yankee Doodle or told you not to […]

The post Who are you? The history of MySQL and MariaDB authentication protocols from 1997 to 2017 appeared first on

Network attacks on MySQL, Part 3: What do you trust?

In my previous blogs I told you to enable SSL/TLS and force the connection to be secured. So I followed my advice and did forced SSL. Great!

So now everything is 100% secure isn't it?

No it isn't and I would never claim anything to be 100% secure.

There are important differences in the SSL/TLS implementations of browers and the implementation in MySQL. One of these differences is that your browser has a trust store with a large set of trusted certificate authorities. If the website you visit has SSL enabled then your browser will check if the certificate it presents is signed by a trusted CA. MySQL doesn't use a list of trusted CA's, and this makes sense for many setups.

The key difference is that a website has clients (browsers) which are not managed by the same organization. And for MySQL connections the set of clients is often much smaller are more or less managed by one organization. Adding a CA for a set of …

[Read more]
Dropping Foreign Key constraint using pt-online-schema-change

Before we proceed, here is useful blog post  written by Peter on Hijacking Innodb Foreign Keys.

However, if you are trying to get rid of an unused Foreign Key (FK) constraint and related columns from versions older than mysql 5.6 or tables which cannot be executed with


  because of limitations mentioned here (specifically tables with 5.5 TIMESTAMP formats), you can use pt-online-schema-change  to drop such foreign keys.



  with  PT-OSC requires specifying


  rather than the real

constraint_name …
[Read more]
Showing entries 1 to 10 of 18683
10 Older Entries »