mysql 1146 table doesn't exist

Recommended Posts

Hi there,

I'm having issues installing the latest PW version. Upon installing i get this weird error message «mysql 1146 table doesn't exist», although it does. I went through the forum and looked for answers elsewhere on the internet, couldn't find a solution. 

I tried to comment out a few things in the .htaccess, as often suggested, and went so far as to comment out everything, it still won't work. I can get to the frontend every now and again, i can even log into the backend sometimes. But most of the time i get a «Internal Server Error» message. 

I contacted the hoster but they think it's an issue with PW and not with they're hosting (of course ;-). 

Any suggestions as to how to fix it?


Share this post

Link to post
Share on other sites

Upon installing i get this weird error message «mysql 1146 table doesn't exist», although it does.

Which table doesn't exist? Is this the full error message, and if so, how do you know which table it's referring to? :)

Do you get any errors or other weirdness in your /site/assets/logs/errors.txt or /site/assets/logs/messages.txt, and if you enable the debug mode (via /site/config.php), what's the full error message you're getting?

Edit: reading your post properly, you mention that sometimes the site works. This makes it sound a lot like a database issue, and while I'd be tempted to say that it's most likely an issue with your host, we should probably dig into this a bit further.

Is the database on the same machine (localhost), or is it on a separate server (and host)? Have you ever experienced connectivity issues with this host before?

Edited by teppo

Share this post

Link to post
Share on other sites

Thanks teppo,

Here's the error message in the error log: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'web338a_pw2.fields' doesn't exist

The database isn't on a localhost, it's now hosted somewhere else apparently. The host said it's 'pxchap.oemsites.net'. I've been working with this host before, and it used to be "localhost", and PW worked well.

Share this post

Link to post
Share on other sites

Right. After looking around for a while, I still can't seem to find an obvious solution to this. Considering that you mentioned that sometimes things work as expected, only things I can think of right now are that a) the MySQL server is not functioning properly, b) connection between your site and the MySQL server is bad, or c) it's a performance/stability issue (i.e. the database server can't handle the load).

Since you mentioned that you've been working with this host before, did you mean that you've had (or still have) other sites there that run just fine.. or did this particular site run fine at some point and break after a change on the server? If that would be the case, I'd be almost certain that the host migrated databases elsewhere and something went wrong, but if this is a brand new database, that's somewhat less likely.

Either way, the issue itself still sounds like something related to your web host. I've never seen or heard this happening before, and while my experiences may be somewhat different from majority of users here (I prefer to manage all my servers myself, so don't have much experience with shared/managed hosts), I know for sure that ProcessWire has been running perfectly fine on so many hosts that this is very unlikely to be a ProcessWire issue per se.

Share this post

Link to post
Share on other sites

I also have the feeling that there's an issue with the host. But guess what: they say it's PW ;-)

Though they did mention that the problem could lie in the dbEngine. They suggested to use the Experimental DB Options as InnoDB and not Myisam. But that didn't work.

They say Myisam is old and therefore shouldn't be used anymore. But I'm just repeating words that i don't understand ;-)

I'm looking into switching host, and hopefully I won't have this issue anymore.

Thanks again for your time!

Share this post

Link to post
Share on other sites

Did you change the database settings to InnoDB while installing ProcessWire?

Yes, I did. Didn't work either.

Share this post

Link to post
Share on other sites

The host support just got back to me saying the following (in German…):

"Wir haben getestet und herausgefunden, dass trotz gewählten InnoDB Option, MyISAM Tabellen werden erstellt. Offenbar erwähnte "Experimentelle" Funktion in Processwire mit InnoDB nicht funktioniert. Aus diesem Grund hatten Sie auch mit "InnoDB" das Problem. Wir haben manuell in InnoDB konvertiert und es funktioniert."

--> Meaning, they think that the Experimental Options don't work. Could this be?

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Jennifer Stock
      Greetings. I would like to restrict access to certain sections of my organization's ProcessWire site using pubcookie. We are rolling out Shibboleth authentication later this year but for now, it seems I can only make use of our institution's single sign-on routine by utilizing rules in an .htaccess file. 
      I am wondering if there is a way to ask PW to apply these rules to certain pages in the site, whether via template type or location in the page tree:
      AuthType UWNetID PubcookieAppID "MyApplication" require type staff faculty  
    • By Sergio
      All of a sudden, with nothing changed on the database or server, a website was getting error when doing a search:
      Error: Exception: SQLSTATE[HY000]: General error: 23 Out of resources when opening file './your-database-name/pages_parents.MYD' (Errcode: 24 - Too many open files) (in /home/forge/example.com/public/wire/core/PageFinder.php line 413) #0 /home/forge/example.com/public/wire/core/Wire.php(386): ProcessWire\PageFinder->___find(Object(ProcessWire\Selectors), Array) #1 /home/forge/example.com/public/wire/core/WireHooks.php(723): ProcessWire\Wire->_callMethod('___find', Array) #2 /home/forge/example.com/public/wire/core/Wire.php(442): ProcessWire\WireHooks->runHooks(Object(ProcessWire\PageFinder), 'find', Array) #3 /home/forge/example.com/public/wire/core/PagesLoader.php(248): ProcessWire\Wire->__call('find', Array) #4 /home/forge/example.com/public/wire/core/Pages.php(232): ProcessWire\PagesLoader->find('title~=EAP, lim...', Array) #5 /home/forge/example.com/public/wire/core/Wire.php(383): ProcessWire\Pages->___find('title~=EAP, lim...') #6 /home/forge/example.com/public/wire This error message was shown because: you are logged in as a Superuser. Error has been logged.  
      I tried several things, listed in this thread: https://serverfault.com/questions/791729/ubuntu-16-04-server-mysql-open-file-limit-wont-go-higher-than-65536
      But for some reason, MySQL was not getting its limit increased, but in the end, the one that did the trick was this:
      This worked for me on Ubuntu Xenial 16.04:
      Create the dir /etc/systemd/system/mysql.service.d
      Put in /etc/systemd/system/mysql.service.d/override.conf:
      [Service] LimitNOFILE=1024000 Now execute
      systemctl daemon-reload systemctl restart mysql.service Yes indeed, LimitNOFILE=infinity actually seems to set it to 65536.
      You can validate the above after starting MySQL by doing:
      cat /proc/$(pgrep mysql)/limits | grep files
    • By dweeda
      I installed an SSL Certificate, then edited my .htaccess file:
        # -----------------------------------------------------------------------------------------------
        # 9. If you only want to allow HTTPS, uncomment the RewriteCond and RewriteRule lines below.
        # -----------------------------------------------------------------------------------------------
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
      by uncommenting out the Rewrite lines.
      Now I get 404 error pages when I try go to any .../processwire-master/<pagename>/
      This includes my admin page at .../processwire-master/processwire/, so i can't get into my admin.
      What else do I need to do?
    • By pwfans
      1. Anybody can help, why this htaccess (location in root) doesn't work at 3.0.98 ? it show 404
      RewriteEngine on RewriteRule ^(.*)$ /subdirectory/$1 [L] That rule works in 3.0.62
      It redirect root request to subdirectory processwire installation and hiding the subdirectory name in url.
      I have try to uncomment htaccess inside subdirectory processwire installation :
      RewriteBase /pw/ to RewriteBase /subdirectory/ Doesn't help, still 404 when open the site from root domain.
      2. Is there anyway to find processwire version from processwire files ? not from admin login page.
      Thank you.
    • By rareyush
      I moved my site to Google cloud platform and i am stuck some where.
      my homepage is working fine but when it comes to other pages it says 404 not found
      and when i add this on virtual host 
      <Directory "/var/www"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> or <Directory "/var/www"> AllowOverride All </Directory>  
          I receive internal server error 
      I tried comment out this line to but still same thing 
      # RewriteBase /
        # RewriteRule ^(.*)$ /index.php?it=$1 [L,QSA]