Hi Guys,
Tim what this PHPBB/MySQL error message is saying is that this DBUser: F****r3 has opened too many concurrent DB connections, which I think is [1203].
It should not make any difference if the webserver and sqlserver are on different physical servers, this is todo with DB resources.
--
A quick fix would be just to increase the number of connections allowed, normally within the MySQL config file - however, over 1200 connections within the session period, perhaps an hour or less/more, is obviously a very high number.
--
Normally all different software you would run on your server (PHPBB, Control Panel, any other software, etc) would be under a different DB User, so normally this would only be talking about this forum. Obviously if you used the same DB user across different software installs then that is going to seriously affect your DB resources availability, but I doubt you have done that.
--
In case it is not obvious, I have smudged/starred the DBUser for security reasons!
--
What I would definitely do to help track down what is going on, if you have not done already, is integrate Google Analytics as this will give you an exact detail of what search engines are accessing the site, as well as what countries/cities/OS/browsers are being served. You should then be able to easily see "what" is taking all those DB handles. (connections).
--
What I would also check is that any add-ons, such as the portal, blocks, etc - are actually using the 'normal DB user': F****r3, and not another one(s), as that would double+ your used DB handles.
--
I have seen these errors previously going back a few months.. Hence, another thing to check, even though you have a dedicated server, is that the hosting provider has not set a different constraint on DB connections to what has been done in MySQL.
--
One thing you could do to limit un-necessary access is to block any access from outside the UK! However it *may block Mobile broadband and some VPNs, and obviously anyone on holiday!
I have written the code for you, and put a copy of it on my server so you can see/test it! I just ran it through AVAST VPN (UK) and that was okay; I also ran it through AVAST VPN (GERMANY) and it detected it was outside the UK which is obviously what you want.
Feel free for people to test it with mobile data; I think perhaps it will say you 'are outside the UK', which is normal as satellites are not registered as ISP networks.
You can view more information about GEO Locations, and this specific one,
http://www.geoplugin.com.
--
In terms of actually using it on this forum, if you wanted - What you would want to do is put everything within index.php page in root, ABOVE everything else with NO white space (eg empty lines) above this. If you are using Google Analytics then you will want that above this code.
Code: Select all
<?php
$geoplugin = unserialize( file_get_contents('http://www.geoplugin.net/php.gp?ip=' . $_SERVER['REMOTE_ADDR']) );
if ($geoplugin['geoplugin_countryCode'] != 'GB') {
$msg='<h3>UK Boinc Team forum can only be used by UK visitors!</h3><h3>If you are based in the UK and you are seeing this then you may be using a VPN and/or Mobile data. Instead use a local based ISP to access this forum. Thank you!</h3>';
exit($msg);
}
//delete the else statement below; it is only here to test on my site
else{
echo '<h3>Welcome Visitor!</h3><h3>You are using a UK based internet provider.</h3>';
}
//delete the else statement above; do not delete the php closing tag below!
?>
You can see this code running live on my website, at:
http://www.mywebsite.com/ubt/
Obviously you will need to change mywebsite.com to the correct URL!