Skip to main content

HOW-TO:- Solve Moodle 2.7 on MySql 5.7.x Installation

The reason of doing this is I configured my apache for local virtual hosting rather than localhost (available in the next post). I found the error as mentioned below, and I tried different solution to solve it. I did few of the things to solve, they are as follows:
  1. Removed and installed MySQL server.
  2. Installed mysql 5.7v
  3. Installed Moodle 2.7+ stable version 
  4. configured and deleted Moodle config.php few times.
  5. created and deleted database naming moodle(default created when initialized) and few other names.
  6. Gave permission to php5.6 instead of php7.0.2 in Ubuntu 16.04
Here's the Solution, find below lines(183 - 191) or search for "
SELECT @@storage_engine" 
and then replace it from "SELECT @@default_storage_engine".

=======Code Snippets(183 - 191):  =======
        // get the default database engine
        $sql = " SELECT @@default_storage_engine";
        $this->query_start($sql, NULL, SQL_QUERY_AUX);
        $result = $this->mysqli->query($sql);
        $this->query_end($result);
        if ($rec = $result->fetch_assoc()) {
            $engine = $rec['@@storage_engine'];
        }
        $result->close();
===============================

Now, run your Moodle installation. It's Working..!


// =============Error while Moodle Installation===========//
The situations I encountered were

System

Error reading from database
It is usually not possible to recover from errors triggered during installation, you may need to create a new database or use a different database prefix if you want to retry the installation.
Debug info: Unknown system variable 'storage_engine'
SELECT @@storage_engine
[NULL]
Error code: dmlreadexception
Stack trace:
  • line 443 of /lib/dml/moodle_database.php: dml_read_exception thrown
  • line 187 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 196 of /lib/ddl/mysql_sql_generator.php: call to mysqli_native_moodle_database->get_dbengine()
  • line 248 of /lib/ddl/sql_generator.php: call to mysql_sql_generator->getCreateTableSQL()
  • line 409 of /lib/ddl/database_manager.php: call to sql_generator->getCreateStructureSQL()
  • line 364 of /lib/ddl/database_manager.php: call to database_manager->install_from_xmldb_structure()
  • line 1498 of /lib/upgradelib.php: call to database_manager->install_from_xmldb_file()
  • line 233 of /admin/index.php: call to install_core()

Comments

Popular Posts