Lost Weekend: Troubleshooting a MySQL Installation

March 21, 2010
96 Views
Spurred on by Blogger’s decision to stop supporting FTP for publishing blogs, I have finally started the long process to implement a WordPress blog – hosted by myself, not WordPress.com. To be fair, I am making this longer than it necessarily needs to be, but I am continuing my efforts to maintain a comprehensive Admin guide for all of my development efforts – configuring servers, installing software, etc.

Needless to say, this adds overhead and time, but it’s worth the effort. I have invested around 40 hours of effort over the past four years on the document (an indicator of how often I get back to my development projects). Still, it pays off every time, because I have a reasonably well-developed SDLC and publishing process implemented, and I need to make sure each new project follows established standards – and adds to the standards when necessary.

Enter MySQL and WordPress – since I will be hosting my own blog, I need a new and different flavor of Development, Test, and Production environments. No more dabbling – I need to tighten up security

Spurred on by Blogger’s decision to stop supporting FTP for publishing blogs, I have finally started the long process to implement a WordPress blog – hosted by myself, not WordPress.com. To be fair, I am making this longer than it necessarily needs to be, but I am continuing my efforts to maintain a comprehensive Admin guide for all of my development efforts – configuring servers, installing software, etc.

Needless to say, this adds overhead and time, but it’s worth the effort. I have invested around 40 hours of effort over the past four years on the document (an indicator of how often I get back to my development projects). Still, it pays off every time, because I have a reasonably well-developed SDLC and publishing process implemented, and I need to make sure each new project follows established standards – and adds to the standards when necessary.

Enter MySQL and WordPress – since I will be hosting my own blog, I need a new and different flavor of Development, Test, and Production environments. No more dabbling – I need to tighten up security and document the installation and maintenance processes for the database.

Which is where I hit a wall, of sorts; I could not successfully change the root password on the MySQL database, kept on getting the UPDATE command denied to user ”@’localhost’ for table ‘user’ message.

Hours of surfing, searching, starting and stopping, installing and reinstalling, to no avail. However, I had seen the AppArmor framework mentioned a few times, and had seen error and warning messages in the system logs that kept hinting at something in that direction. So I finally followed the advice noted in this thread, and disabled AppArmor during the MySQL installation process. A few notes:

  • Use the Synaptic Package Manager utility to enable / disable AppArmor; I didn’t want to throw the whole thing out, just needed to disable (Mark for Removal) and then Install (Mark for Installation), did not want to completely smoke it (Mark for Complete Removal).
  • After disabling in Synaptic (Mark for Removal), ran the mysql_secure_installation script from the command line for the umpteenth time – but this time, the password change for root user worked.
  • Rebooted the machine, and reinstalled (Mark for Installation) AppArmor in Synaptic.

A quick validation that I could use the MySQL graphical admin tools and phpMyAdmin, and I was back to getting the Dev instance of WordPress going.

Ah, but now I have to get ready for the work week, and time is ticking away.