Jump to content

Community

Not sure if this is an IP Board issue...


Recommended Posts

My site-after many years of just humming away-is now inoperable. It happened yesterday afternoon. The board URL just started throwing a generic 500 error:

~~~

An error occurred (500 Error)

We're sorry, but a temporary technical error has occurred which means we cannot display this site right now.

Access denied for user [user]@'localhost' to database 'dbname'

You can try again by clicking the button below, or try again later.

Try again
~~~
The error log in cpanel has a similar error:
~~~
[Sat Mar 06 20:14:25.494342 2021] [lsapi:error] [pid 3412119:tid 140091078833920] [client 107.203.104.168:48204] [host corpus-scientia.com] Backend fatal error: PHP Fatal error:  Uncaught IPS\\Db\\Exception: Access denied for user [user]@'localhost' to database 'dbname' in /home/nnnnnn/public_html/forum/system/Db/Db.php:269\nStack trace:\n#0 /home/nnnnnn/public_html/forum/system/Db/Db.php(356): IPS\\_Db->_establishConnection(false)\n#1 /home/nnnnnn/public_html/forum/system/Db/Db.php(487): IPS\\_Db->checkConnection(false)\n#2 /home/nnnnnn/public_html/forum/system/Db/Db.php(979): IPS\\_Db->preparedQuery('REPLACE INTO `c...', Array)\n#3 /home/nnnnnn/public_html/forum/system/Session/Admin.php(112): IPS\\_Db->replace('core_sys_cp_ses...', Array)\n#4 [internal function]: IPS\\Session\\_Admin->write('adcf37cfe83b774...', '')\n#5 [internal function]: session_write_close()\n#6 {main}\n  thrown in /home/nnnnnn/public_html/forum/system/Db/Db.php on line 269\n, referer: http://domain.com/forum/admin/
~~~
The db passes consistency checks. There have been no changes to the site in ages. There are literally 2 users, and the spam protection from IP.Board keeps most unwanted traffic away. I'm having a hard time telling if I should inquire here or with my host. 
Any ideas?
Thanks!
Link to comment
Share on other sites

Yeah, I realized that when asked, and honestly I don't plan on putting that much effort into this site.

TBH, I went over my hosting agreement-standard linux GoDaddy-and it doesn't have a DB size limit listed. So they can pound sand.

Link to comment
Share on other sites

4 minutes ago, Joshua Barreiro said:

Yeah, I realized that when asked, and honestly I don't plan on putting that much effort into this site.

TBH, I went over my hosting agreement-standard linux GoDaddy-and it doesn't have a DB size limit listed. So they can pound sand.

Please respectfully understand there will always be a limitation when using shared web hosting, even when not correctly specified. It is the business model of most shared web hosting providers to oversell their resources under the assumption that most people will never use what was advertised.  

You are now experiencing the early signs of having outgrown shared hosting. It would help if you started taking measures now to secure your site's future. The last thing you will want to experience is your host surprising you with notice, informing you they believe you are overusing their allowed resources. That can often end poorly to various degrees.

I would suggest you look into a VPS (virtual private server).  Please understand that a "reseller" is not a VPS and is a shared hosting account with extra features.  Only a VPS will provide you with the dedicated resource will require.

Link to comment
Share on other sites

So, I'm not a DBA and I don't really intend to become one. How can I whittle this DB down to size? It's fallen over again, and I'm working with the host, but for a low-traffic site, I can't justify putting more money into the hosting. VPS is just not going to happen.

Would splitting DBs work for IP.Board?

Link to comment
Share on other sites

12 minutes ago, Joshua Barreiro said:

So, I'm not a DBA and I don't really intend to become one. How can I whittle this DB down to size? It's fallen over again, and I'm working with the host, but for a low-traffic site, I can't justify putting more money into the hosting. VPS is just not going to happen.

Would splitting DBs work for IP.Board?

What tables have grown up in size? You can truncate the logs table to trim the database down btw. But before you do anything, make first a backup.

What do you mean by splitting the database?

Link to comment
Share on other sites

25 minutes ago, Joshua Barreiro said:

So, I'm not a DBA and I don't really intend to become one. How can I whittle this DB down to size? It's fallen over again, and I'm working with the host, but for a low-traffic site, I can't justify putting more money into the hosting. VPS is just not going to happen.

Would splitting DBs work for IP.Board?

I am sorry you feel that way, although I think you are fighting against the inevitable. As forums grow, so does their database and file size, and that remains proportional to their storage, ram, and CPU usage. You can prune your post, threads, attachments, and even members if you are willing to make those sacrifices; you should be fine staying with shared hosting. If not, you must learn to accept the reality of how a dynamic website changes and grows over time.

Fear not, though. A simple VPS (virtual private server), when well optimized, can be very affordable. DigitalOcean, for example, can start as low as €5. That is only one example of one possible provider.  My point is that VPS does not need to cost more than shared hosting when you start. 

Link to comment
Share on other sites

Go into phpmyadmin in your cpanel control panel and sort the database tables by size. There may be cached page outputs stored that are consuming a lot of space, or the log table may have grown large in size. Both of these tables are fairly safe to purge if so.

Link to comment
Share on other sites

OK, so I want to thank everyone for their time on this.

I ended up upgrading to business class, and they migrated my account. My db was 1.52gb pre-migration.

After migration, my db started shrinking. It went from 1.52gb down to 290mb. My db is fine. Everything is functioning. There are no errors, but I've spent a lot of time with the host trying to understand why my db shrank, and they have no answers.

Is there some sort of logging or other junk that once the db reads in that it decides can be discarded? Is there a periodic job I can enable in Invision that will help me reclaim this space that is clearly not actual data on my site?

Link to comment
Share on other sites

  • Management

We have cleanup tasks and the like but since it went down after your host migrated the DB I wonder if your host may have just needed to optimize the DB. MySQL sometimes does not release space until a table is optimized. I am just guessing though 🙂

Link to comment
Share on other sites

My host doesn't offer any services like that, so after the db was read in, mysql optimized it. But is there a task that can be enabled that will continuously optimize the db so that I don't have to get kicked off my shared hosting in the future? 

I plan on migrating back to shared hosting since this tier of hosting is literally a waste of resources and money, but I don't want to run into this issue in 2 years when the tables need to be optimized again...so how does one get optimized tables?

Link to comment
Share on other sites

4 hours ago, Joshua Barreiro said:

My host doesn't offer any services like that, so after the db was read in, mysql optimized it. But is there a task that can be enabled that will continuously optimize the db so that I don't have to get kicked off my shared hosting in the future? 

I plan on migrating back to shared hosting since this tier of hosting is literally a waste of resources and money, but I don't want to run into this issue in 2 years when the tables need to be optimized again...so how does one get optimized tables?

Continuously optimizing your database could be resource-intensive. The general clean-up task should naturally run itself after the preset time. I question if your shared host was somehow preventing this from happening since the limited plan may have had a cap on how much computing power you were allowed. As a result, it was not completed as necessary, and once you were moved to a container with the required resources, it was finally completed.

Link to comment
Share on other sites

28 minutes ago, Linux-Is-Best said:

Continuously optimizing your database could be resource-intensive. The general clean-up task should naturally run itself after the preset time. I question if your shared host was somehow preventing this from happening since the limited plan may have had a cap on how much computing power you were allowed. As a result, it was not completed as necessary, and once you were moved to a container with the required resources, it was finally completed.

Thanks.

Interesting thought. Is there a job set up in the admin settings? I can't find one, if so. It would be good to know if there's a way to verify whether I have tasks that are being killed by my host.

Link to comment
Share on other sites

IPS Cloud hosting may be a good idea if you don't want to be involved in this way with the administration of your server.

That said, you can learn about MySQL OPTIMIZE TABLE here:

https://dev.mysql.com/doc/refman/8.0/en/optimize-table.html

This is not something that IPS does for you (nor would you want it to).

Other database maintenance statements are outlined here: https://dev.mysql.com/doc/refman/8.0/en/table-maintenance-statements.html

You can find scheduled tasks by searching for "Tasks" in ACP.

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We use technologies, such as cookies, to customise content and advertising, to provide social media features and to analyse traffic to the site. We also share information about your use of our site with our trusted social media, advertising and analytics partners. See more about cookies and our Privacy Policy