<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" comment="oli"><channel><title>FromDual GmbH</title><link>https://www.fromdual.com/blog/joerg/</link><description>Recent content 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>Wed, 24 Aug 2022 08:31:19 +0000</lastBuildDate><atom:link href="https://www.fromdual.com/blog/joerg/index.xml" rel="self" type="application/rss+xml"/><item><title>How the Lack of a Primary Key May Effectively Stop the Slave</title><link>https://www.fromdual.com/blog/how-the-lack-of-a-primary-key-may-effectively-stop-the-slave/</link><pubDate>Tue, 02 May 2017 09:50:52 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/how-the-lack-of-a-primary-key-may-effectively-stop-the-slave/</guid><description>&lt;p&gt;Most (relational) DBAs and DB application developers know the concept of a primary key (&amp;ldquo;PK&amp;rdquo;) and what it is good for. However, much too often one still encounters table definitions without a PK. True, the relational theory based on sets does not need a PK, and all operations (insert, select, update, delete) can also be done on tables for which no PK was defined. If performance doesn&amp;rsquo;t matter (or the data volume is small, a typical situation in tests), the lack of a PK does not immediately cause negative consequences.&lt;/p&gt;
&lt;p&gt;But recently, we had several customers who (independent of each other) had big tables without a PK in a replication setup which they wanted to delete, and they all suffered severely from that: Their replication did not progress, the slave lag grew larger and larger, and all this without reporting any error. When I say &amp;ldquo;larger and larger&amp;rdquo;, I mean it: I&amp;rsquo;m not talking about minutes or even hours, I&amp;rsquo;m talking about days!&lt;/p&gt;
&lt;h2 id="observations"&gt;Observations&lt;/h2&gt;
&lt;p&gt;In all cases, the situation could be summarized as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;They were running a traditional, asynchronous replication using the &amp;ldquo;row&amp;rdquo; format.&lt;/li&gt;
&lt;li&gt;They had a table without PK with many entries, say a million rows.&lt;/li&gt;
&lt;li&gt;This table wasn&amp;rsquo;t needed any more, and someone issued a &amp;ldquo;delete from T&amp;rdquo; statement on the master.&lt;/li&gt;
&lt;li&gt;From this moment, the slave did not show any sign of progress: The output of &amp;ldquo;show slave status &lt;br&gt;G&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;listed both the IO and the SQL slave thread as running,&lt;/li&gt;
&lt;li&gt;reported the same log positions without any change,&lt;/li&gt;
&lt;li&gt;did not mention any slave error,&lt;/li&gt;
&lt;li&gt;but the slave lag grew in sync with the passing time.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Looking at the slave&amp;rsquo;s machine load, say using &amp;ldquo;vmstat&amp;rdquo;, you could see a certain amount of CPU load in user mode, possibly some &amp;ldquo;waiting for IO&amp;rdquo;, and some read IO (group &amp;ldquo;io&amp;rdquo;, column &amp;ldquo;bi&amp;rdquo; = &amp;ldquo;block input&amp;rdquo;). Checking with &amp;ldquo;top&amp;rdquo;, you could see that the MySQL server process was the only significant CPU load, and closer inspection …&lt;/p&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</description></item><item><title>Deleted files still (growing) on disk</title><link>https://www.fromdual.com/blog/beware-of-large-mysql-max-sort-length-parameter/comment-971/</link><pubDate>Thu, 25 Aug 2016 10:34:16 +0200</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/beware-of-large-mysql-max-sort-length-parameter/comment-971/</guid><description>&lt;p&gt;For this phenomenon, the relevant documentation is here:
&lt;strong&gt;&lt;a href="http://www.gnu.org/software/libc/manual/html_node/Deleting-Files.html" target="_blank" title="Deleting Files"&gt;deleting files&lt;/a&gt;&lt;/strong&gt;.
Close to the top, see this sentence:&lt;/p&gt;
&lt;pre&gt;The unlink function deletes the file name filename.
If this is a file’s sole name, the file itself is also deleted.
(Actually, if any process has the file open when this happens,
deletion is postponed until all processes have closed the file.)&lt;/pre&gt;
&lt;p&gt;
This is the standard programming technique to ensure that temporary files are automatically cleaned up on a program or machine crash.
Often this subject comes up as the difference in the output of "du" (follows directory entries) and "df" (checks file system space information).
&lt;p&gt;
Jörg Brühe</description></item><item><title>Multiple MySQL Instances on a Single Machine</title><link>https://www.fromdual.com/blog/multiple-mysql-instances-on-a-single-machine/</link><pubDate>Thu, 28 Jul 2016 13:11:03 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/multiple-mysql-instances-on-a-single-machine/</guid><description>&lt;p&gt;Typically, on a single machine (be it a physical or a virtual one) only a single MySQL instance (process) is running. This is perfectly ok for all those situations where a single instance is sufficient, like for storing small amounts of data (RedHat using MySQL for postfix, KDE using it for akonadi, &amp;hellip;), as well as those where a dedicated machine per MySQL instance is appropriate (high CPU load, memory fully loaded, availability requirements).&lt;/p&gt;
&lt;p&gt;But there are also those users who want to (or would like to) have multiple instances which would still fit into a single machine. Even among them, a single instance per machine is typical. For this, there are good reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MySQL comes with defaults for files (config file, error log, &amp;hellip;) and directories (data directory, binlogs, &amp;hellip;) which would cause conflicts between multiple instances (unless they are changed).&lt;/li&gt;
&lt;li&gt;The scripts coming with MySQL, especially the automated start/stop with machine reboot/shutdown, are written for a single instance only.&lt;/li&gt;
&lt;li&gt;Last but not least: The instructions. those in the manual as well as the many &amp;ldquo;How to setup &amp;hellip;&amp;rdquo; in the Web, cover a single instance only.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Because of this, users often either restrict themselves to a single instance, or they set up several virtual machines (or containers) holding a single instance each.&lt;/p&gt;
&lt;p&gt;But that overhead (both in software and in labour) isn&amp;rsquo;t necessary: There is a way out, supporting easy handling of multiple MySQL instances on a single machine directly, without containers or VMs. This is our &amp;ldquo;MyEnv&amp;rdquo; package, available for &lt;a href="https://fromdual.com/download-myenv"&gt;download here&lt;/a&gt;, licensed under the GPL.&lt;/p&gt;
&lt;h2 id="what-does-myenv-do"&gt;What Does MyEnv Do?&lt;/h2&gt;
&lt;p&gt;MyEnv cares about two aspects which in combination provide easy use of multiple instances:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It helps to configure multiple MySQL instances without overlap, so they won&amp;rsquo;t collide with each other.&lt;/li&gt;
&lt;li&gt;It maintains separate environments, each to manage and access one specific instance.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each environment contains the path to the binaries (so the instances can use different versions), …&lt;/p&gt;</description></item><item><title>Past and Future Conferences, and Talks Around MySQL</title><link>https://www.fromdual.com/blog/past-and-future-conferences-and-talks-around-mysql/</link><pubDate>Mon, 11 Apr 2016 15:25:25 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/past-and-future-conferences-and-talks-around-mysql/</guid><description>&lt;p&gt;Time flies, and my blogging frequency is quite low. More frequent would be better, but knowing myself I&amp;rsquo;ll rather not promise anything ;-)&lt;/p&gt;
&lt;p&gt;Still, it is appropriate to write some notes about CeBIT, the &amp;ldquo;Chemnitzer Linuxtage 2016&amp;rdquo;, and future events.&lt;/p&gt;
&lt;h2 id="cebit"&gt;CeBIT&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.cebit.de"&gt;CeBIT&lt;/a&gt; was running from March 14 to 18 (Monday till Friday) in Hannover, Germany, and I will leave the general assessment to the various marketing departments as well as to the regular visitors (to which I do not belong).&lt;/p&gt;
&lt;p&gt;In order to meet our current customers as well as potential future ones, FromDual had a booth in the &amp;ldquo;Open Source Forum&amp;rdquo;. We displayed a Galera Cluster, running on three tiny headless single-board Linux machines, and showed how it reacts to node failures and then recovers all by itself, without any administrator intervention. Many of our visitors were fascinated, because a HA solution would be a good fit in their solution architecture. We had got several stuffed dolphins &amp;ldquo;Sakila&amp;rdquo;, the traditional MySQL symbol, and all of them found new homes (typically with the words &amp;ldquo;for my grandchild&amp;rdquo;). :-)&lt;/p&gt;
&lt;p&gt;IMHO, the &amp;ldquo;Open Source Forum&amp;rdquo; had deserved a better visitor attraction than it really got - placing it into one hall with document management systems was no good fit, research and development might have been more appropriate.
The forum had an area for talks which were running all five days, I consider John &amp;ldquo;Maddog&amp;rdquo; Hall (who had provided an Alpha machine to Linus Torvalds decades ago) and Prof. Klaus Knopper (who is maintaining the &amp;ldquo;Knoppix&amp;rdquo; live distribution) the most prominent speakers. FromDual&amp;rsquo;s Oli Sennhauser talked about the new features of MySQL 5.7, you can get the slides via the &lt;a href="https://fromdual.com/presentations"&gt;FromDual download page&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="chemnitzer-linux-tage"&gt;Chemnitzer Linux-Tage&lt;/h2&gt;
&lt;p&gt;The weekend following CeBIT, March 19 and 20, had been selected for the &lt;a href="http://www.clt.de"&gt;Chemnitzer Linux-Tage&lt;/a&gt;. Like in the previous years, the conference attracted many visitors from all over Germany as well as from some neighbouring countries, and …&lt;/p&gt;</description></item><item><title>On Files, the Space They Need, and the Space They Take</title><link>https://www.fromdual.com/blog/on-files-the-space-they-need-and-the-space-they-take/</link><pubDate>Tue, 09 Feb 2016 14:55:09 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/on-files-the-space-they-need-and-the-space-they-take/</guid><description>&lt;p&gt;or&lt;/p&gt;
&lt;h2 id="xfs-users-take-care"&gt;xfs Users, Take Care!&lt;/h2&gt;
&lt;p&gt;Recently, we had a customer ask: Why do many files holding my data take up vastly more space than their size is? That question may sound weird to you, but it is for real, and the customer&amp;rsquo;s observation was correct. For a start, let&amp;rsquo;s make sure we are using the same terms.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The size of a file is the number of bytes it will deliver if it is read sequentially from start to end.&lt;/li&gt;
&lt;li&gt;The space it takes up is the sum of all disk pages which are used to hold the file&amp;rsquo;s data, or to locate those data pages (&amp;ldquo;indirect&amp;rdquo; blocks in Unix/Linux terminology).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Every Unix/Linux admin knows (or at least should know) that a file may take up less disk space than its size is. This happens when not all bytes of the file were really written, but the write pointer was advanced via &amp;ldquo;seek()&amp;rdquo;, leaving a gap. Disk pages which are completely contained in such a gap will not be written, and reading these positions will produce bytes containing zero. This is called a &amp;ldquo;sparse file&amp;rdquo;. You will find some remarks about them in our blog at &lt;a href="https://fromdual.com/mysql-cluster-sparse-files"&gt;https://fromdual.com/mysql-cluster-sparse-files&lt;/a&gt;, or search the net for that term.&lt;/p&gt;
&lt;h3 id="the-customers-message"&gt;The Customer&amp;rsquo;s Message&lt;/h3&gt;
&lt;p&gt;Now that we have brought those basics into active memory again, let&amp;rsquo;s return to the original question: Can there be files which take up vastly more space than their size is? We will not consider potential administrative overhead (pointers to pages), because to the customer a file of slightly more than 4 GB was reported to take up 8.1 GB disk space - see this quote from his mail (file name changed):&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ ls -l some_table#P#p01.ibd
-rw-rw---- 1 mysql mysql 4307550208 Jan 4 01:06 some_table#P#p01.ibd

$ du -hs some_table#P#p01.ibd
8,1G some_table#P#p01.ibd
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Luckily, the customer&amp;rsquo;s mail mentioned the file system: It was not one of the &amp;ldquo;ext&amp;rdquo; family (ext2, ext3, or etx4), but rather they are using xfs. This gave me a hint to search for information, and Google provided several pointers, IMO the most helpful ones where …&lt;/p&gt;</description></item><item><title>How to Get a Galera Cluster Into Split Brain</title><link>https://www.fromdual.com/blog/how-to-get-a-galera-cluster-into-split-brain/</link><pubDate>Fri, 23 Oct 2015 17:02:07 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/how-to-get-a-galera-cluster-into-split-brain/</guid><description>&lt;p&gt;&amp;ldquo;Split Brain&amp;rdquo; is the term commonly used for a cluster whose nodes have different contents, rather than identical as they should have. Typically, a &amp;ldquo;split brain&amp;rdquo; situation is the DBA&amp;rsquo;s nightmare, and the Galera software is designed to avoid it. Galera is very successful in that avoidance, and it needs some special steps by the DBA to achieve &amp;ldquo;split brain&amp;rdquo;. Here is how to do it - or, for most DBAs, what to avoid doing to not get a split-brain cluster.&lt;/p&gt;
&lt;h2 id="galeras-design"&gt;Galera&amp;rsquo;s Design&lt;/h2&gt;
&lt;p&gt;First, let&amp;rsquo;s remember how Galera is operating:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Galera software ensures that all nodes participating in a cluster will start from identical contents, by doing a &amp;ldquo;snapshot state transfer&amp;rdquo; (SST) of all current data to a newly joining node.&lt;/li&gt;
&lt;li&gt;When the cluster is running, Galera transfers all changes (transactions) to all cluster nodes and applies them (or rolls back and ignores, in the case of a conflict).&lt;/li&gt;
&lt;li&gt;If some connections get lost, all nodes check whether they &amp;ldquo;have quorum&amp;rdquo; (belong to a majority), and stop serving requests if they don&amp;rsquo;t.&lt;/li&gt;
&lt;li&gt;When a disconnected node re-joins the cluster, it gets all meantime changes transferred (&amp;ldquo;incremental state transfer&amp;rdquo; IST) and so makes its contents current.&lt;/li&gt;
&lt;li&gt;Should that be impossible, because some of those changes have become unavailable (log purge), a full transfer (SST) is done.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By this design, the Galera software successfully avoids getting into a &amp;ldquo;split brain&amp;rdquo; situation.&lt;/p&gt;
&lt;p&gt;Of course, the quorum is a well-known concept. The old term for it is &amp;ldquo;majority consensus&amp;rdquo;, and the approach is built on a simple principle:&lt;br&gt;
In any set (of cluster nodes), there cannot be two (or more) non-overlapping subsets which both contain a majority of the elements.&lt;br&gt;
So if some loss of connectivity splits the cluster into subsets, at most one of them can &amp;ldquo;have quorum&amp;rdquo;, all others will stop serving requests, and there cannot be two (or more) different directions in which the contents (data) changes.&lt;/p&gt;
&lt;p&gt;What …&lt;/p&gt;</description></item><item><title>Change: Port needed</title><link>https://www.fromdual.com/blog/galera-arbitrator-garbd-starting-and-stopping/comment-969/</link><pubDate>Wed, 05 Aug 2015 16:42:44 +0200</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/galera-arbitrator-garbd-starting-and-stopping/comment-969/</guid><description>&lt;p&gt;With Galera version 25.3.10, the &amp;ldquo;garbd&amp;rdquo; daemon would not start unless I appended the port number (default: 4567) to the IP addresses of the cluster nodes.&lt;br&gt;
The failure symptom was that an exception &amp;ldquo;gu::NotSet&amp;rdquo; was thrown, without any helpful information what it was really missing.&lt;/p&gt;</description></item><item><title>The Upcoming Leap Second</title><link>https://www.fromdual.com/blog/upcoming-leap-second/</link><pubDate>Mon, 29 Jun 2015 17:56:45 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/upcoming-leap-second/</guid><description>&lt;p&gt;The press, be it the general daily newspaper or the computer magazines, is currently informing the public about an upcoming leap second, which will be taken in the night from June 30 to July 1 at 00:00:00 UTC. While we Europeans will enjoy our well-deserved sleep then, this will be at 5 PM (17:00) local time on June 30 for Califormia people, and during the morning of July 1 for people in China, Japan, Korea, or Australia. (Other countries not mentioned for the sake of brevity.) This is different from last time, when the leap second was taken in the night from Saturday to Sunday (2012-July-1 00:00:00 UTC), so it was a weekend everywhere on the globe.&lt;/p&gt;
&lt;p&gt;We have got several requests from our customers about this upcoming leap second, whether they need to take any special precautions or whether they &amp;ldquo;are safe&amp;rdquo;. Well, obviously nobody is &amp;ldquo;safe&amp;rdquo; from the leap second in the sense that it would circumvent them, everybody will encounter it on their systems. The concern is whether they have to expect any trouble.&lt;/p&gt;
&lt;p&gt;For the people operating MySQL (or any other DBMS), this issue is threefold:&lt;/p&gt;
&lt;p&gt;How will the operating system behave?&lt;/p&gt;
&lt;p&gt;How will the database system behave?&lt;/p&gt;
&lt;p&gt;How will the applications behave?&lt;/p&gt;
&lt;p&gt;Let us look at the operating system first, dealing with Linux only. (All other operating systems don&amp;rsquo;t show up with significant numbers in our customer base.)&lt;br&gt;
Linux measures the time in seconds (since Jan 1, 1970, 00:00:00 UTC), and it does not include the leap seconds in this counting. When the leap second is taken, the timestamp value (those seconds) will simply not be advanced at the end of the regular second, but it will re-use its current value in the leap second. As a result, the conversion of timestamps into common time reckoning will still produce values from 0 to 59 for the minute as well as for the second, there will not be a 60. Another consequence is that there is no way to tell the leap second from the preceding regular one.&lt;/p&gt;
&lt;p&gt;MySQL always takes the time information from the Linux kernel, so …&lt;/p&gt;</description></item><item><title>Linuxtag: Knowledge and People - and New Colleagues?</title><link>https://www.fromdual.com/blog/linuxtag-knowledge-and-people-and-new-colleagues/</link><pubDate>Wed, 04 Feb 2015 10:49:29 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/linuxtag-knowledge-and-people-and-new-colleagues/</guid><description>&lt;p&gt;At FromDual, we are currently preparing for our participation in the &amp;ldquo;Chemnitzer Linux-Tage&amp;rdquo; in March.&lt;br&gt;
While we don&amp;rsquo;t yet know whether the programme committee accepted our proposed talks, we will have a booth and hope for interesting exchanges with others from the MySQL, database, Linux, &amp;hellip; world. Of course, we will also mention that we are looking for additional colleagues - there are so many tasks that we need more people to handle them all. (In case you got curious, look here: &lt;a href="http://www.fromdual.com/mysql-dba-2014-12-de"&gt;http://www.fromdual.com/mysql-dba-2014-12-de&lt;/a&gt; )&lt;/p&gt;
&lt;p&gt;While I attended the Chemnitzer Linux-Tage already last year (thank you, Frank Hofmann, for recommending them!), it will be the first time there for FromDual as a company. I enjoyed the informal atmosphere, which made it easy to get into contact with new people, to learn, and to discuss both facts and opinions.&lt;/p&gt;
&lt;p&gt;To those of you who didn&amp;rsquo;t yet attend such events, I can only say: You are missing some great experiences! It is good to get stimulated by others, by their problems and their experiences, so that one&amp;rsquo;s thoughts are broadened and start considering new fields. Often, they lead to insights that are helpful for one&amp;rsquo;s own daily work.&lt;/p&gt;
&lt;p&gt;In the opposite direction, we at FromDual hope that during the Linux-Tage we can help others to make (better) use of MySQL in all its variants, with its surrounding tools and products, so that everybody will profit.&lt;/p&gt;
&lt;p&gt;The Chemnitzer Linux-Tage will take place on March 21 and 22, 2015, in Chemnitz, Germany. Parts of the programme will probably be delivered in English, so even those of you who don&amp;rsquo;t understand German might enjoy coming there. If you now consider a visit, you will find further information here:&lt;br&gt;
&lt;a href="https://chemnitzer.linux-tage.de/2015/de"&gt;https://chemnitzer.linux-tage.de/2015/de&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We will be happy to meet you in Chemnitz - to talk about whatever interests both you and us, maybe even about you joining us?&lt;/p&gt;</description></item><item><title>Later Findings ...</title><link>https://www.fromdual.com/blog/failed-mysql-ddl-commands-and-galera-replication/comment-967/</link><pubDate>Wed, 21 Jan 2015 17:49:44 +0200</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/failed-mysql-ddl-commands-and-galera-replication/comment-967/</guid><description>&lt;p&gt;&amp;hellip; show that this is expected behavior:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Galera will replicate a DDL statement first, before it gets executed locally.
&lt;li&gt; Local execution will fail, because the "super" privilege is a global one, it cannot be granted for a specific database "db.*" but only for all of them "*.*"
&lt;li&gt; Of course, execution on the other nodes will fail in the same way.&lt;/ul&gt;
So: While it looks ugly, it is nothing to worry about.</description></item><item><title>Introducing Myself: Jörg Brühe</title><link>https://www.fromdual.com/blog/introducing-mysql-joerg-bruehe/</link><pubDate>Mon, 19 Jan 2015 20:56:19 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/introducing-mysql-joerg-bruehe/</guid><description>&lt;p&gt;For some time already, FromDual&amp;rsquo;s &amp;ldquo;Our Team&amp;rdquo; page lists me, and it even reveals that I joined in September, 2014. Also for some time, the list of FromDual blogs contains an entry &amp;ldquo;Jörg&amp;rsquo;s Blog&amp;rdquo;, but it doesn&amp;rsquo;t lead to any entries. It is high time to fix this and create entries, starting with an introduction of myself.&lt;/p&gt;
&lt;p&gt;Often, in such introductions people use the phrase of &amp;ldquo;the new kid on the block&amp;rdquo;. I won&amp;rsquo;t. If I am to use those words, I will arrange them as &amp;ldquo;the kid on the new block&amp;rdquo;. The reason is that I don&amp;rsquo;t feel as a new kid in the MySQL village (or is it a city?), let alone in DBMS country.&lt;/p&gt;
&lt;p&gt;Ever since I left university (Technical University of Berlin, Germany), I have been involved in SQL DBMS development. After my previous product&amp;rsquo;s team had been dissolved in Berlin and maintenance moved to Riga, Latvia, as a cost-cutting measure, I joined MySQL AB in 2004 as a member of the Build Team. Some of you will remember my name from MySQL release announcements, others may have seen it in bug reports, newsgroup entries, or other MySQL communication. Together with the other MySQL colleagues, I got acquired by Sun in 2008 and then by Oracle in 2010.&lt;/p&gt;
&lt;p&gt;In 2012, I decided I wanted a culture change, from a highly (and very strictly) organized corporation to a smaller, more flexible entity. That brought me to an internet site, where I worked as a DBA, concentrating on their (more than 100) MySQL installations. It was very interesting to view MySQL from the DBA side now, I got a big load of new experiences and learned a lot about using, running, and automating MySQL (rather than building and testing it).&lt;/p&gt;
&lt;p&gt;That might have continued, but as usual the world is changing, and my DBA job was no exception: Company strategy was to shift those tasks more to the various application teams and to do without a central point for MySQL. It is a sign how far MySQL knowledge has spread, and how little effort may be sufficient to run MySQL, that this worked. …&lt;/p&gt;</description></item><item><title/><link>https://www.fromdual.com/blog/joerg/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/joerg/</guid><description/></item></channel></rss>