Managing SQL Drift: Ensuring Stability in Database Transitions
SQL drift is a significant challenge that occurs when SQL statements from an existing system produce unexpected results after migration to a new environment or system. These issues manifest in several critical ways: SQL statements may generate new execution errors, experience significant performance degradation, or yield differences in data integrity.
Read morePercona Live Presentation: MySQL Security Essentials
The slides for my MySQL Security Essentials presentation at Percona Live 2015 MySQL Conference and Expo are now available. In this presentation I discuss just how insecure legacy versions of MySQL are and what are the essential requirements for securing your installation on disk, via network and with user privileges.
Read moreInconsistent messaging for OpenStackClient
As I mentioned earlier in Moving to OpenStackClient CLI I came across several differences in reconciling the legacy CLI tools. I have also come across very inconsistent messaging. Here is a simple example.
Read moreMoving to OpenStackClient CLI
In working with the keynote CLI within the TripleO scripts I came across the following deprecation warning message. $ keystone token-get /usr/local/lib/python2.7/dist-packages/keystoneclient/shell.py:65: DeprecationWarning: The keystone CLI is deprecated in favor of python-openstackclient.
Read morePercona Live Presentation: Improving Performance With Better Indexes
The slides for my Improving Performance With Better Indexes presentation at Percona Live 2015 MySQL Conference and Expo are now available. In this presentation I discuss how to identify, review and analyze SQL statements in order to create better indexes for your queries.
Read moreUpdating MySQL on Ubuntu 12.04 LTS to MySQL 5.6
The Ubuntu 12.04.3 LTS release only provides MySQL 5.1 and MySQL 5.5 using the default Ubuntu package manager. Oracle (owners of the MySQL(tm)) now provide Debian/Ubuntu APT repositories for all GA and DMR versions of MySQL including supporting Ubuntu 12.
Read moreValidating MySQL version numbers
As part of a MySQL 5.5 to MySQL 5.6 upgrade across several Ubuntu servers of varying distros an audit highlighted a trivial but interesting versioning identification error in Ubuntu’s packaging of MySQL.
Read moreDynamic recreation of InnoDB redo logs
MySQL 5.6 will now automatically recreate the InnoDB redo log files during a MySQL restart if the size (or number) of these logs changes, i.e. a change to innodb_log_file_size. See Changing the Number or Size of InnoDB Log Files which states “If InnoDB detects that the innodb_log_file_size differs from the redo log file size, it will write a log checkpoint, close and remove the old log files, create new log files at the requested size, and open the new log files.
Read moreTranslated books in Chinese
I have just received copies of my Effective MySQL series that are available in Chinese. The picture speaks more than words.
Read moreSQL, ANSI Standards, PostgreSQL and MySQL
I have recently been working with the Donors Choose Open Data Set which happens to be in PostgreSQL. Easy enough to install and load the data in PostgreSQL, however as I live and breath MySQL, lets load the data into MySQL.
Read moreLoops in shell scripting
If you are die hard Bourne Shell (/bin/sh) scripter, it can be a challenge not to be enticed by the syntax niceties of the Born Again Borne Shell (/bin/bash). One example is the `{.
Read moreUnderstanding when EXPLAIN is not using an index as intended
When reading a MySQL Query Execution Plan (QEP) produced by the EXPLAIN command, generally one of the first observations is to validate an index is being used per table (i.e. per row of output).
Read moreWhat is testing?
In software development this is a simple question. What is [the purpose of] testing? If asked to give a one sentence answer what would you say? I have asked this simple question of attendees at many presentations, and also to software developers I have worked with or consulted to.
Read moreAWS cost saving tips – EBS Volumes
A trivial cost saving tip for checking if you are spending money in your AWS environment on unused resources. This is especially appropriate when using provisioned IOPS EBS volumes. $ ec2-describe-volumes | grep available VOLUME vol-44dff904 8 snap-d86d0884 us-east-1b available 2014-08-01T14:11:24+0000 standard VOLUME vol-62dff922 100 us-east-1b available 2014-08-01T14:11:24+0000 io1 1000 VOLUME vol-15dff955 8 snap-d86d0884 us-east-1b available 2014-08-01T14:11:24+0000 standard VOLUME vol-80a88ec0 8 snap-d86d0884 us-east-1b available 2014-08-01T15:12:54+0000 standard VOLUME vol-ca82a48a 100 us-east-1b available 2014-08-01T16:13:49+0000 standard VOLUME vol-5d79581d 8 snap-d86d0884 us-east-1b available 2014-08-01T18:27:01+0000 standard VOLUME vol-baf9dbfa 8 snap-d86d0884 us-east-1b available 2014-08-03T18:20:59+0000 standard VOLUME vol-53ffdd13 8 snap-d86d0884 us-east-1b available 2014-08-03T18:25:52+0000 standard VOLUME vol-ade7daed 8 snap-d86d0884 us-east-1b available 2014-08-13T20:10:46+0000 standard VOLUME vol-34e2df74 8 snap-065a2e52 us-east-1b available 2014-08-13T20:26:17+0000 standard VOLUME vol-cacef38a 100 snap-280ffb7f us-east-1b available 2014-08-13T21:19:18+0000 standard VOLUME vol-41350a01 8 snap-f23ccba5 us-east-1b available 2014-08-14T16:54:27+0000 standard VOLUME vol-51350a11 100 snap-fc3ccbab us-east-1b available 2014-08-14T16:54:27+0000 standard VOLUME vol-912f10d1 8 snap-96ee24c1 us-east-1b available 2014-08-14T17:15:06+0000 standard VOLUME vol-a82f10e8 100 snap-9dee24ca us-east-1b available 2014-08-14T17:15:06+0000 standard These are available and unused EBS volumes which you should consider deleting.
Read moreMySQL Admin 101 for System Admins – key_buffer_size
As discussed in my presentation to NYLUG , I wanted to provide system administrations with some really quick analysis and performance fixes if you had limited knowledge of MySQL. One of the most important things with MySQL is to tune memory properly.
Read more