Showing entries 3201 to 3210 of 44043
« 10 Newer Entries | 10 Older Entries »
Understanding InnoDB rw-lock stats

InnoDB uses mutexes for exclusive access and rw-locks for the shared access of the resources. rw-locks are used to control access to the common shared resources like buffer pool pages, tablespaces, adaptive search systems, data-dictionary, informaton_schema, etc… In short, rw-locks play a very important role in the InnoDB system and so tracking and monitoring them is important too.

InnoDB provides an easy way to track them using “SHOW ENGINE INNODB STATUS”.

RW-shared spins 38667, rounds 54868, OS waits 16539
RW-excl spins 6353, rounds 126218, OS waits 3936
RW-sx spins 1896, rounds 43888, OS waits 966
Spin rounds per wait: 1.42 RW-shared, 19.87 RW-excl, 23.15 RW-sx

In this article we will try to understand how these stats are calculated and what is the significance of each of these numbers. We will also try to draw inferences using different use-cases and touch base important stats …

[Read more]
Need to Connect to a Local MySQL Server? Use Unix Domain Socket!

When connecting to a local MySQL instance, you have two commonly used methods: use TCP/IP protocol to connect to local address –  “localhost” or 127.0.0.1  – or use Unix Domain Socket.

If you have a choice (if your application supports both methods), use Unix Domain Socket as this is both more secure and more efficient.

How much more efficient, though?  I have not looked at this topic in years, so let’s see how a modern MySQL version does on relatively modern hardware and modern Linux.

Benchmarking  TCP/IP Connection vs Unix Domain Socket for MySQL

I’m testing Percona Server for MySQL 8.0.19 running on Ubuntu 18.04 on a Dual Socket 28 Core/56 Threads Server.  (Though I have validated results on 4 …

[Read more]
MySQL-Shell using the Pluggable Password Store and the API Command-Line Interface

Early on in the MySQL 8.0 Release series there were a couple of key items related to our everyday use.  They are MySQL-Shell‘s establishing the “Pluggable Password Store” in 8.0.12, and its super enhance API Command Line Interface in 8.0.13… which the Pluggable Password Store also adopted. Sadly, most content highlighting the API CLI capability when it came… Read More »

Why We’re Debugging MySQL Server and How?

Why Debug MySQL?

Building MySQL from its source code sounds like something you won't normally do, though it can be useful for several scenarios:

  1. When you want to contribute to MySQL with a new feature or a bug fix.
  2. When you want to explore how MySQL or the underline engines behave, beyond what's documented.
  3. When you're considering to fork MySQL for your work and customize it in your own repository.
  4. When you want to create a custom MySQL build with custom build parameters or compiler optimizations.

For us at EverSQL, it's reason #2.

To improve our query optimization algorithms, we're constantly exploring the database's source code, to learn how the database operates, beyond what's actually documented, and how can our product complement the database's core functionality.

In this tutorial, you'll learn …

[Read more]
Java & MySQL 8.0.19

It’s the in-between term time and we’re all stuck at home. I decided to update the image for my Fedora 30 virtual machine. I had a work around to the update issue that I had encountered last October in Bug #96969 but it was not required with the current version. However, after updating from MySQL 8.0.17 to MySQL 8.0.19, I found that my Java connection example failed.

The $CLASSPATH value was correct:

/usr/share/java/mysql-connector-java.jar:.

The first error that I got was the my reference to MySQL JDBC driver was incorrect. The error message is quite clear:

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
Cannot connect to database server:
The server time zone …
[Read more]
Evaluating Group Replication Scaling for I/O Bound Workloads

In this post, I want to evaluate Group Replication Scaling capabilities in cases when we increase the number of nodes and increase user connections. While this setup is identical to that in my post “Evaluating Group Replication Scaling Capabilities in MySQL”,  in this case, I will use an I/O bound workload.

For this test, I will deploy multi-node bare metal servers, where each node and client are dedicated to an individual server and connected between themselves by a 10Gb network.

Also, I will use 3-nodes and 5-nodes Group Replication setup. In both cases, the load is directed only to ONE node, but I expect with five nodes there is some additional overhead from replication.

Hardware specifications:

System | Supermicro; SYS-F619P2-RTN; v0123456789 (Other)
Service Tag | …
[Read more]
Still have MySQL 5.6 variable binlog_error_action as IGNORE_ERROR?

Recently, we were affected by an ignored configuration option introduced in MySQL 5.6. This incident caused us to perform extended planning of downtime and the rebuilding of the slave. In…

The post Still have MySQL 5.6 variable binlog_error_action as IGNORE_ERROR? first appeared on Change Is Inevitable.

Percona XtraBackup: Backup and Restore of a Single Table or Database

The backup and restore of a complete database is an extensive exercise. But what if you need to restore just one table which has been mistakenly modified by an incorrect query? Help is at hand with Percona XtraBackup.

For our purpose, we will take a test database having tables created by the sysbench tool. The 8.0 versions of Percona XtraBackup and Percona Server for MySQL have been used in this test.

Restore Single Table

Here we will take the backup of the sbtest2 table and restore it. The initial checksum of the table is given below:

8.0.19>CHECKSUM TABLE sbtest2;
+--------------+-----------+
| Table        | Checksum | …
[Read more]
Use Case: Geo-distributed Multi-master MySQL for Telco Providers

This is our third ‘multi-master MySQL’ blog in our Continuent MySQL Use Case series, with a focus on Telco providers. This blog concludes our multi-master MySQL mini-series along with the following two blogs:

As per our initial multi-master MySQL use case blog, multi-master replication for MySQL typically means that a user can write to any master node knowing that the write will be eventually consistent for …

[Read more]
Use Case: Geo-distributed Multi-master MySQL for Telco Providers

This use case blog discusses a Telco provider that specializes in roaming, i.e. complete connectivity solutions around the world. It is our third ‘multi-master MySQL’ blog in our Continuent MySQL Use Case series.

Tags:  Geo-Distributed Multi Master MySQL MySQL Replication telco telecommunications tungsten clustering

Showing entries 3201 to 3210 of 44043
« 10 Newer Entries | 10 Older Entries »