• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

"SQLSTATE[42000]: Syntax error or access violation: 1286 Unknown table engine 'InnoDB' "

JKDuck

New Pleskian
Hello,
I am using Parallels Plesk Panel v. 11.0.9 on a V-Server provided by Strato (Germany), the OS is Ubuntu 10.04 LTS. Established and running under Plesk is a MySQL-Database, administered via Plesk by PHPMyAdmin 3.5.8.1. PHPMyAdmin offers the following information:
Datenbank-Server
  • Server: Localhost via UNIX socket
  • Software: MySQL
  • Software-Version: 5.1.41-3ubuntu12.10 - (Ubuntu)
  • Protokoll-Version: 10
  • Benutzer: admin@localhost
  • Server Zeichensatz: UTF-8 Unicode (utf8)
Webserver
  • sw-cp-server
  • Datenbank-Client Version: libmysql - mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $
  • PHP-Erweiterung: mysql

Strato as well as the Plesk Panel offered an Upgrade to v. 12.0.18. I tried that. The Update allegedly went through without any problem. However, when I opened the Plesk Panel, the home page offers the following information:
Fehler
Internal error: SQLSTATE[42000]: Syntax error or access violation: 1286 Unknown table engine 'InnoDB'

Message SQLSTATE[42000]: Syntax error or access violation: 1286 Unknown table engine 'InnoDB'
File Pdo.php
Line 234
Type Zend_Db_Statement_Exception

Thus I returned to Parallels Plesk Panel v. 11.0.9 by just using the full recovery function, just rolling back to the server's status it had the day before. However, the error message quoted above sustained. Not only that, in one (of three) Wordpress-Installations I am running on this V-Server, the same message appears, an the website is not running at all!

What went wrong, what can I do to get the InnoDB running again?
Thank You.
Hoping for your help!
 
Please post your "my.cnf" from "/etc/mysql" for further investigations, if the other suggestions don't already help.


Did you try the two "all-time" suggestions:

/usr/local/psa/admin/bin/autoinstaller --select-product-id plesk --select-release-current --reinstall-patch --install-component base
and/or
/usr/local/psa/bootstrapper/pp12.0.18-bootstrapper/bootstrapper.sh repair


As well, you might want to see, if you actual MySQL - version supports different engines and if this is the case, which one is set to be the default with these commands:

( Login to MySQL: ) mysql -uadmin -p`cat /etc/psa/.psa.shadow`
( Show the supported engines: ) SHOW ENGINES;


If you would like to change the default MySQL - engine, you might want to edit the "my.cnf" - file and adjust the line:

Either to:
default-storage-engine = MyISAM

Or:
default-storage-engine = InnoDB
 
I did the
/usr/local/psa/admin/bin/autoinstaller --select-product-id plesk --select-release-current --reinstall-patch --install-component base
without any change.
What will th change of the default engine do to the Websites running using MySQL?
I tried
mysql -uadmin -p`cat /etc/psa/.psa.shadow`
but that returned a "ERROR 1045 (28000): Access denied for user 'admin'@'localhost' (using password: YES)"; I know user name and password, but not how to apply it when I am using putty.

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0

# innodb_buffer_pool_size=2M
# innodb_additional_mem_pool_size=500K
# innodb_log_buffer_size=500K
# innodb_thread_concurrency=2
[mysqld]
local-infile=0
#
# * Basic Settings
#

#
# * IMPORTANT
# If you make changes to these settings and your system uses apparmor, you may
# also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#

user = mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1

log_error = /var/log/mysql/error.log

# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



# innodb_buffer_pool_size=2M
# innodb_additional_mem_pool_size=500K
# innodb_log_buffer_size=500K
# innodb_thread_concurrency=2
[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer = 16M

#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
 
Last edited:
If you have InnoDB as the standard engine, but your databases are not converted to a InnoDB - usage, then you have failures, that you experienced and postet in your first post. The additional entry from my suggestions, tell MySQL, WHICH engine should be used as standard. If you don't define any engine, the standard configuration from your vendor's MySQL - package is used.

You might as well try one of the suggested defaults, restart your MySQL - server and see, if the errors still exist. There are no changes at all taking place in your databases, when you change the defaults!

Be aware that the additional default - engine definition has to be put INSIDE the "[mysqld]" definitions.
 
Back
Top