Category Archives: MySQL

InnoDB Data Locking – Part 3 “Deadlocks”

In this  blog series, I’m describing how InnoDB locks data (tables and rows) in order to provide illusion to clients that their queries are executed one after another, and how this was improved in recent releases.
In InnoDB Data Locking – Part 1 “Introduction” I’ve introduced basic concepts required to understand current post:

  • databases, tables, rows (like files on a shared drive, spreadsheets inside a file, and rows inside a spreadsheet)
  • serializability of transactions (ability to explain states observed over time with a convincing story about relative order of parallel operations)
  • timeouts (for misbehaving lock owners, and to resolve deadlocks)
  • reader-writer lock (shared/exclusive access rights)
  • starvation (permanent inflow of readers starving a writer waiting for its turn)
  • queueing (FIFO, or priority)
  • read views (read-only snapshots which allow stale reads concurrent to new writes)
  • granularity of a lock (access right to everything vs.

MySQL Shell 8.0.23 – What’s New?

The MySQL team is proud to announce the general availability of version 8.0.23 of the MySQL Shell.

In addition to a considerable number of bugs fixed, the following changes were introduced.

Improved Import Table

The importTable utility continues getting better, the following enhancements:

  • Multiple file import: it is now supported to load a defined set of files into the same table, glob patterns can be used to determine the files to be loaded.

MySQL Shell AdminAPI – What’s new in 8.0.23?

The MySQL Development Team is happy to announce a new 8.0 Maintenance Release of MySQL Shell AdminAPI – 8.0.23!

In addition to several bug fixes and minor changes, some significant enhancements regarding monitoring/troubleshooting and performance were included.

MySQL Shell AdminAPI

Cluster diagnostics

Checking how a Cluster is running and, whenever the cluster is not 100% healthy, perform troubleshooting tasks is certainly one of the main tasks of a DBA.…

InnoDB Clone and page tracking

First we will talk about some of the other internal users of the technology that underpins the InnoDB Clone. MySQL Enterprise Backup (MEB) is an enterprise offering that provides backup and recovery for MySQL. Among various types of backups available, the following two types are of interest to us:

  • Full Backup – A backup that backs up the entire MySQL instance – all the tables in each MySQL database.

InnoDB Data Locking – Part 2.5 “Locks” (Deeper dive)

All together now

Let’s now put together all that we’ve learned in InnoDB Data Locking – Part 2 “Locks” about table and record locks to understand following situation: