<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>RowDeck blog</title><description>Notes on running MySQL and MariaDB in production, from the developer of RowDeck.</description><link>https://rowdeck.app/</link><language>en</language><item><title>ERROR 1040 Too many connections: getting back into a full MySQL server</title><link>https://rowdeck.app/blog/mysql-too-many-connections/</link><guid isPermaLink="true">https://rowdeck.app/blog/mysql-too-many-connections/</guid><description>Once max_connections is full, MySQL turns away new clients, you included. The reserved admin slot, the admin port, and finding who holds the slots.</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Why KILL QUERY didn&apos;t release the row lock</title><link>https://rowdeck.app/blog/kill-query-sleeping-transaction/</link><guid isPermaLink="true">https://rowdeck.app/blog/kill-query-sleeping-transaction/</guid><description>A MySQL thread asleep in an open transaction keeps its row locks, and KILL QUERY can&apos;t touch it. Finding that thread, ending it, and stopping the next one.</description><pubDate>Sun, 25 Oct 2026 00:00:00 GMT</pubDate></item><item><title>One ALTER TABLE can stop every query on a MySQL table</title><link>https://rowdeck.app/blog/alter-table-metadata-lock-queue/</link><guid isPermaLink="true">https://rowdeck.app/blog/alter-table-metadata-lock-queue/</guid><description>A migration waiting for a metadata lock queues each later query on its table. Finding the forgotten transaction behind it and keeping it from coming back.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item></channel></rss>