MySQL
How do I identify the MySQL my.cnf file?
If you are unfamiliar in administrating MySQL, the current MySQL configuration file generally found is named my.cnf (my.ini on windows). Where is that file. If only that question was easy to answer!
Don’t Assume – Per Session Buffers
MySQL has a number of global buffers, i.e. your SGA. There are also a number of per session/thread buffers that combined with other memory usage constitutes an unbounded PGA. One of the most common errors in mis-configured MySQL environments is the setting of the 4 primary per session buffers thinking they are global buffers.
Free advice on your my.cnf
Today, while on IRC in #pentaho I came across a discussion and a published my.cnf. In this configuration I found some grossly incorrect values for per session buffers (see below).
MySQL is crashing, what do I do?
Let me start by saying the majority of environments never experience problems of MySQL crashing. I have seen production environments up for years. On my own server I have seen 575 days of MySQL uptime and the problem was hardware, not MySQL.
Advanced reporting options for MySQL
I’m seeking help from the MySQL community for what tools are used today to generate complex reports for enterprise applications that use MySQL. In an Oracle world, you have Oracle Report Writer , in Microsoft Crystal Reports .
Migrating MySQL latin1 to utf8 – The process
Having covered the preparation and character set options of performing a latin1 to utf8 MySQL migration, just how do you perform the migration correctly. Example Case Just to recap, we have the following example table and data.
Don’t Assume – Data Integrity
MySQL has the same level of data integrity for numbers and strings as Oracle; when MySQL is correctly configured. By default (a reason I wish I knew why it is still the default), MySQL performs silent conversions on boundary conditions of data that will result in your data not always being what is specified.
How to crash mysqld intentionally
While some may think I’m daft, I have a legitimate reason for wanting to crash mysqld. However first we need to find a way to crash it. Great thanks to Alan K, Mark L, Harrison and Hartmut on #mysql-dev for several suggestions and a config option I was unaware of.
Don’t Assume – Transactions
MySQL by default is a NON transactional database. For the hobbyist (See The Hobbyist and the Professional ), startup entrepreneur and website developer this may not appear foreign, however to the seasoned Oracle DBA who has only used Oracle the concept is very foreign.
Upcoming book – Expert PHP and MySQL
This month will see the release of the book Expert PHP and MySQL which I was a co-author of. Initially this will be available for purchase in PDF format from the Wrox website and I am hopeful this will be available in print format for the MySQL Users Conference .
Don’t Assume – Common Terminology
In Oracle the default transaction isolation is READ_COMMITTED. In MySQL the default is REPEATABLE_READ. Because MySQL also has READ_COMMITTED I have seen in more then one production MySQL environment a transaction isolation of READ_COMMITTED.
Don’t Assume – Session Scope
MySQL system variables and status variables have two scopes. These are GLOBAL and SESSION which are self explanatory. This is important to realize when altering system variables dynamically. The following example does not produce the expected results.
Don’t Assume Series – MySQL for the Oracle DBA
As part of my MySQLCamp for the Oracle DBA series of talks to help the Oracle DBA understand, use and appreciate MySQL I have also developed a series of short interesting posts I have termed “Don’t Assume”.
Edward Screven of Oracle to Answer Questions for future of MySQL
For those of you on the O’Reilly MySQL conference list you will no doubt see this email, but for readers here is the important bits. _ Oracle Executive Will Speak at O’Reilly MySQL Conference & Expo