<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Lock on FromDual GmbH</title><link>https://www.fromdual.com/tags/lock/</link><description>Recent content in Lock on FromDual GmbH</description><generator>Hugo</generator><language>en-GB</language><managingEditor>oli.sennhauser@fromdual.com (Oli Sennhauser)</managingEditor><webMaster>oli.sennhauser@fromdual.com (Oli Sennhauser)</webMaster><copyright>© FromDual GmbH</copyright><lastBuildDate>Mon, 09 Feb 2026 12:10:00 +0100</lastBuildDate><atom:link href="https://www.fromdual.com/tags/lock/index.xml" rel="self" type="application/rss+xml"/><item><title>dbstat for MariaDB (and MySQL)</title><link>https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/</link><pubDate>Thu, 14 Mar 2024 15:36:57 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/</guid><description>&lt;h2 id="table-of-contents"&gt;Table of contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/#features"&gt;Functionality of &lt;code&gt;dbstat&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/#how-does-dbstat-work"&gt;How does &lt;code&gt;dbstat&lt;/code&gt; work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/#installation"&gt;How to install &lt;code&gt;dbstat&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/#queries"&gt;Query &lt;code&gt;dbstat&lt;/code&gt;&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/#table_size"&gt;&lt;code&gt;table_size&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/#processlist"&gt;&lt;code&gt;processlist&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/#trx_and_lck"&gt;&lt;code&gt;trx_and_lck&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/#metadata_lock"&gt;&lt;code&gt;metadata_lock&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/#global_variables"&gt;&lt;code&gt;global_variables&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/#global_status"&gt;&lt;code&gt;global_status&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/#testing"&gt;Testing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/dbstat-for-mariadb-and-mysql/#sources"&gt;Sources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An idea that I have been thinking about for a long time and have now, thanks to a customer, finally tackled is &lt;code&gt;dbstat&lt;/code&gt; for MariaDB/MySQL. The idea is based on &lt;code&gt;sar/sysstat&lt;/code&gt; by Sebastien Godard:&lt;/p&gt;</description></item><item><title>Upgrading MariaDB to the pre-latest minor release</title><link>https://www.fromdual.com/blog/upgrading-mariadb-to-the-pre-latest-minor-release/</link><pubDate>Wed, 08 Feb 2023 13:45:30 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/upgrading-mariadb-to-the-pre-latest-minor-release/</guid><description>&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt; MariaDB Community Server is release every 3 months. The exact date is not known but it is typically about 2 to 3 weeks after the &lt;a href="https://www.fromdual.com/security#oracle-critical-patch-update-advisory-for-mysql" target="_blank"&gt;MySQL/Oracle CPU&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>MyISAM locking and who is the evil?</title><link>https://www.fromdual.com/blog/myisam-locking-and-who-is-the-evil/</link><pubDate>Wed, 23 Sep 2020 09:58:35 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/myisam-locking-and-who-is-the-evil/</guid><description>&lt;p&gt;Yes, I know, MyISAM is deprecated and unofficially discontinued by the vendors. But we still have from time to time customers using MyISAM and even evangelize for MyISAM&amp;hellip;&lt;/p&gt;</description></item><item><title>MariaDB and MySQL package holding or locking</title><link>https://www.fromdual.com/blog/mariadb-and-mysql-package-holding-or-locking/</link><pubDate>Fri, 07 Aug 2020 16:02:24 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/mariadb-and-mysql-package-holding-or-locking/</guid><description>&lt;p&gt;Repositories from your favourite Linux distribution and from your favourite database software vendor get regular package updates. If you do periodic system upgrades (for example every 2 weeks as we do) you get the newest packages of a release series.&lt;br&gt;
Unfortunately recently the software vendors started not only to fix bugs in new releases but also to introduce new features. And when you fix bugs or introduce new stuff new bugs might appear.&lt;br&gt;
To avoid being hit unexpectedly by new bugs you do not want to upgrade untested software. To achieve this you want to keep/not upgrade some important packages. For example the MariaDB or MySQL server package.&lt;br&gt;
This package pinning is called package version lock on CentOS and Redhat and package holding on Debian and Ubuntu.&lt;/p&gt;</description></item><item><title>innodb_deadlock_detect - Rather Hands off!</title><link>https://www.fromdual.com/blog/innodb-deadlock-detect-rather-hands-off/</link><pubDate>Mon, 23 Mar 2020 11:24:15 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/innodb-deadlock-detect-rather-hands-off/</guid><description>&lt;p&gt;Recently we had a new customer who has had from time to time massive database problems which he did not understand. When we reviewed the MySQL configuration file (&lt;code&gt;my.cnf&lt;/code&gt;) we found, that this customer had disabled the InnoDB Deadlock detection (&lt;code&gt;innodb_deadlock_detect&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>MariaDB and MySQL PERFORMANCE_SCHEMA Hints</title><link>https://www.fromdual.com/blog/mysql-performance-schema-hints/</link><pubDate>Sun, 14 Jul 2013 09:29:09 +0200</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/mysql-performance-schema-hints/</guid><description>&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#accounts-not-properly-closing"&gt;Accounts not properly closing connections&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#unused-indexes"&gt;Unused indexes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#who-created-temporary-tables"&gt;Who created temporary (disk) tables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#accounts-which-never-connected"&gt;Accounts which never connected since last start-up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#user-which-never-connected"&gt;Users which never connected since last start-up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#totally-unused-accounts"&gt;Totally unused accounts (never connected since last restart and not used to check Stored Program or View privileges) since last start-up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#show-full-processlist"&gt;&lt;code&gt;SHOW FULL PROCESSLIST&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#storage-engine-per-schema"&gt;Storage Engines per schema&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#tables-without-primary-key"&gt;Tables without a Primary Key&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#bad-sql-queries-of-users"&gt;Bad SQL queries of users&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#show-profile-in-performance_schema"&gt;&lt;code&gt;SHOW PROFILE&lt;/code&gt; in &lt;code&gt;PERFORMANCE_SCHEMA&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#select-insert-update-and-delete-per-table"&gt;&lt;code&gt;SELECT&lt;/code&gt;, &lt;code&gt;INSERT&lt;/code&gt;, &lt;code&gt;UPDATE&lt;/code&gt; and &lt;code&gt;DELETE&lt;/code&gt; per table&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#top-long-running-queries"&gt;Top long running queries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#tables-never-written-to"&gt;Tables never written to&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#dml-ddl-dcl-per-account"&gt;DML, DDL and DCL per account&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#erroneous-mysql-queries"&gt;Finding syntactically wrong/erroneous MySQL queries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#finding-queries-served-by-query-cache"&gt;Finding queries served by MySQL Query Cache&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#grant-sys-schema-access"&gt;Grant access to &lt;code&gt;sys&lt;/code&gt; schema to another user&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#grant-ps-schema-access"&gt;Grant access to &lt;code&gt;PERFORMANCE_SCHEMA&lt;/code&gt; schema to another user&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#innodb-locks"&gt;Find InnoDB Locks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#metadata-locks"&gt;Find Metadata Locks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#statements-before-sleep"&gt;What did a Connection before sleeping?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#how-many-statements-did-another-connection"&gt;How many statements did another (sleeping) connection?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="%22/blog/myisam-locking-and-who-is-the-evil#performance-schema%22" title="MyISAM locking and who is the evil?"&gt;MyISAM locking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#connections-per-user"&gt;Connections per user&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#connections-per-user-and-ip"&gt;Connections per user and IP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#accounts-which-could-not-connect"&gt;Accounts which could not connect or with connection errors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#temporary-tables-filling-disk"&gt;Temporary tables filling my disk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#who-is-writing-to-the-binary-log"&gt;Who is writing to the binary log&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#average-binlog-transaction-size"&gt;Average binlog transaction size&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#result-size-of-select-statement"&gt;Result size of &lt;code&gt;SELECT&lt;/code&gt; statement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#find-open-long-running-transactions"&gt;Find open long running transactions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mariadb"&gt;MariaDB&lt;/h2&gt;
&lt;p&gt;On MariaDB you have to enable the Performance Schema first before use:&lt;/p&gt;</description></item></channel></rss>