It's worrying when a web site that's been rock solid starts giving intermittent problems - and even more worrying when those intermittent problems just fade away and you're left unsure as to what was the cause of them. I'm afraid I'm the sort who wonders if and when the issue will return.
And so it was yesterday, when we were failing to connect to our databases from our web site - quite a serious situation as we use the databases throughout the site for "back lists", for tailoring pages to suit each individual's stated country and languages, and to help prevent denial of service attacks. And the failure was ugly, too.
As an short term measure, I've put in a couple of re-tries on the connection, and I've caught and flagged the mysql warnings by adding an extra @ in front of the MySQL connection and query calls in the PHP. Failures are now flagged with a neat warning in the page head, so that any of us who sees that message will be able to note / act on it, and customers get a professional message and not a page that, frankly, looked broken.
But this morning, it's a crisp and bright start and running fine.
(written 2006-03-15, updated 2006-06-05)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
S161 - Data Access and Security in MySQL [192] Current MySQL and PHP paths and upgrades - (2005-01-28)
[193] The wrong MySQL - (2005-01-29)
[401] What is an SQL injection attack? - (2005-08-02)
[535] MySQL permissions and privileges - (2005-12-20)
[947] What is an SQL injection attack? - (2006-11-27)
[1131] MySQL - Password security (authentication protocol) - (2007-04-02)
[2204] Images in a database? How big is a database? (MySQL) - (2009-05-28)
[2263] Mysqldump fails as a cron job - a work around - (2009-06-30)
[2647] Removing duplicates from a MySQL table - (2010-02-22)
[3270] SQL - Data v Metadata, and the various stages of data selection - (2011-04-29)
[4390] Checking MySQL database backups have worked (not failed) - (2015-01-10)
[4406] Fixing damaged MySQL tables - Error 1712 and Error 2013 - (2015-01-25)
[4481] Extracting data from backups to restore selected rows from MySQL tables - (2015-05-01)
[4491] Web Server Admin - some of those things that happen, and solutions - (2015-05-10)
[4493] Forgotten / lost MySQL root password - (2015-05-16)
H201 - PHP and MySQL for Content Management [1555] Advanced Python, Perl, PHP and Tcl training courses / classes - (2008-02-25)
[1576] Making PHP and MySQL training relevant to the course delegates - (2008-03-15)
[1745] Moodle, Drupal, Django (and Rails) - (2008-08-08)
[2071] Setting up a MySQL database from PHP - (2009-03-08)
[3453] Reading and using emails including enclosures on your web server. - (2011-09-23)
H113 - Using MySQL Databases in PHP Pages [104] mysql_connect or mysql_pconnect in PHP? - (2004-10-30)
[515] MySQL - an FAQ - (2005-12-03)
[572] Giving the researcher power over database analysis - (2006-01-22)
[581] Saving a MySQL query results to your local disc for Excel - (2006-01-29)
[666] Database design - get it right from first principles - (2006-04-02)
[723] Viewing images held in a MySQL database via PHP - (2006-05-17)
[915] Paging through hundreds of entries - (2006-11-05)
[937] Display an image from a MySQL database in a web page via PHP - (2006-11-22)
[1010] Dates, times, clickable diarys in PHP - (2006-12-28)
[1561] Uploading to a MySQL database through PHP - examples and common questions - (2008-03-02)
[1983] Keeping PHP code in database and running it - (2009-01-09)
[2259] Grouping rows for a summary report - MySQL and PHP - (2009-06-27)
[2320] Helping new arrivals find out about source code examples - (2009-08-03)
[2432] Using print_r in PHP to explore mysql database requests - (2009-10-01)
[2447] MySQL stored procedures / their use on the web from PHP - (2009-10-10)
[2561] The future of MySQL - (2010-01-03)
[2628] An example of an injection attack using Javascript - (2010-02-08)
[3035] How to display information from a database within a web page - (2010-11-07)
[3455] MySQL, MySQLi, PDO or something else - how best to talk to databases from PHP - (2011-09-24)
[4378] What FGW passengers want to talk about / and PHP programming to find out - (2015-01-01)
[4483] Moving from mysql to mysqli - simple worked example - (2015-05-03)
Some other Articles
Please Register with Opentalk - but just once!A person of few wordsDenial of Service ''attack''West Wilts Railway Users Group and trains to LacockChecking for MySQL errorsPHP - London course, Melksham Course, Evening courseLost CamelUsing a MySQL database from PerlIf it's Sunday, it must be BedwynHow similar are two words