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 from this blog

Software Versions You Must Have..!

Google Chrome       Version 29 and Version 37 of Google Chrome works much better than any other version.I updated my Google Chrome but it was lagging,not responding, crashed,contents were loaded very slow and few more.So,finally I found Google Chrome 37 working better,bugs fixed and you can download this to fix the previous problems. 2. KM Player Really awesome player to watch HD Videos,movies.Compatible with all extensions of videos you want to watch whether it is mkv,3gp,flv,HD,4K etc.KM Player has very good 3D mode.You can watch multiple videos at a time.I found version 3.6 & 3.9 useful,but in between versions were very Ads providing, lagging every time when you open the Player. 3. iTunes & Quick Time Player  Hats off to the creator 'Apple Inc.'. iTunes- name is enough.I use default audio player as iTunes.You can feel the sound clarity when you are changing it to other mode like Pop,Rock,Acoustic,Bass etc. iTunes 10.1 i

#EspoCRM #Business #Open_Source

Since last few weeks I'm working on EspoCRM - open source business software. I'll edit the post with explanation. just a quick backup. Ref. here:  ORM, How to manage entities and perform queries - EspoCRM Documentation Here are some steps to get started: Here's how you can incorporate your custom search.js script for the Lead entity in a "upgrade safe" way while your pull request is approved: Define your own search.js class in the custom namespace. for example: client/custom/src/views/record/search.js Code: define('custom:views/record/search', 'views/record/search', function (Dep) { return Dep.extend({ WRITE HERE ALL YOUR CUSTOM SEARCH CODE }); }); Define a custom header list view class that will invoke the custom search instead of the core class, for example: client/custom/src/views/header/list.js Code: define('custom:views/header/list', 'views/list', function (Dep) { return Dep.extend({ searchView: 'cu