Jump to content
  • 0

Will Blesta 4.0.1 still work If we switch our server from MySQL 5.5 to MariaDB 10.2 ?


Question

Posted

NOTE:

MyISAM tables are what we use and Blesta 4.0.1 is currently working just fine with MySQL 5.5

=======

Will your product still work If we switch our server from MySQL 5.5 to MariaDB 10.2 ?

While still using MyISAM tables ?

8 answers to this question

Recommended Posts

  • 0
Posted

Blesta uses Innodb. If you changed it to MyISAM then who knows - it would technically be unsupported. If using Innodb, then it should work, with Blesta 4.3.2 (4.0 is unsupported, but would probably work, I don't know).

  • 0
Posted
On 10/29/2018 at 7:17 AM, turner2f said:

NOTE:

MyISAM tables are what we use and Blesta 4.0.1 is currently working just fine with MySQL 5.5

=======

Will your product still work If we switch our server from MySQL 5.5 to MariaDB 10.2 ?

While still using MyISAM tables ?

we are using MariaDB 10.2 without any issue.

  • 0
Posted
35 minutes ago, Blesta Addons said:

we are using MariaDB 10.2 without any issue.

But you have left the database engine alone: Innodb, and not modified it to MyISAM. :D 

  • 0
Posted
On 10/29/2018 at 3:17 AM, turner2f said:

NOTE:

MyISAM tables are what we use and Blesta 4.0.1 is currently working just fine with MySQL 5.5

=======

Will your product still work If we switch our server from MySQL 5.5 to MariaDB 10.2 ?

While still using MyISAM tables ?

Unless you have some specific reason to want to use MyISAM there is no benefit otherwise, InnoDB is better for many reasons which can be found on the Google. I use MariaDB with InnoDB so I can confirm that this works. I know you asked about MariaDB with MyISAM but I can advise an easy way to convert your database from MyISAM to InnoDB if you would like to try.

  1. Export/dump your current MySQL MyISAM database.
  2. Open the SQL file with Notepad++.
  3. CTRL + H then search for "ENGINE=MyISAM" and replace with "ENGINE=InnoDB" throughout entire file.
  4. CTRL + F and search for "PRIMARY KEY", just to ensure that one exists, it's usually set to "id", no need to change it, merely confirm it exists before proceeding.
  5. CTRL + S to save the SQL file and exit Notepad++.
  6. Create MariaDB InnoDB database and import the database you just modified.

It should work. Always backup, no guarantees.

  • 0
Posted
On 11/10/2018 at 9:54 AM, S.H. said:

Unless you have some specific reason to want to use MyISAM there is no benefit otherwise, InnoDB is better for many reasons which can be found on the Google. I use MariaDB with InnoDB so I can confirm that this works. I know you asked about MariaDB with MyISAM but I can advise an easy way to convert your database from MyISAM to InnoDB if you would like to try.

  1. Export/dump your current MySQL MyISAM database.
  2. Open the SQL file with Notepad++.
  3. CTRL + H then search for "ENGINE=MyISAM" and replace with "ENGINE=InnoDB" throughout entire file.
  4. CTRL + F and search for "PRIMARY KEY", just to ensure that one exists, it's usually set to "id", no need to change it, merely confirm it exists before proceeding.
  5. CTRL + S to save the SQL file and exit Notepad++.
  6. Create MariaDB InnoDB database and import the database you just modified.

It should work. Always backup, no guarantees.

the exact way to make it work

also myisam is is non-transactional

  • 0
Posted

Thanks for the reply.

I used to use that technique.

 

But Found it easier to use the following table conversion code within PHPMyAdmin - - > SQL :

Found at ...

https://stackoverflow.com/a/29926020/8957410

==================


DROP PROCEDURE IF EXISTS convertToInnodb;
DELIMITER //
CREATE PROCEDURE convertToInnodb()
BEGIN
mainloop: LOOP
SELECT TABLE_NAME INTO @convertTable FROM information_schema.TABLES
WHERE `TABLE_SCHEMA` LIKE DATABASE()
AND `ENGINE` LIKE 'MyISAM' ORDER BY TABLE_NAME LIMIT 1;
IF @convertTable IS NULL THEN
LEAVE mainloop;
END IF;
SET @sqltext := CONCAT('ALTER TABLE `', DATABASE(), '`.`', @convertTable, '` ENGINE = INNODB');
PREPARE convertTables FROM @sqltext;
EXECUTE convertTables;
DEALLOCATE PREPARE convertTables;
SET @convertTable = NULL;
END LOOP mainloop;

END//
DELIMITER ;

CALL convertToInnodb();
DROP PROCEDURE IF EXISTS convertToInnodb;

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...