13

I am totally new to databases. I would like to create a database; I am going to make a small project which is going to use DB. I am going to use Maria DB as it is totally free for commercial use.

The question is: Can I use MySQL workbench program to create a database and then transform/change it to MariaDB?

TheOpti
  • 1,641
  • 3
  • 21
  • 38
  • 1
    possible duplicate of [Can MySQL seamlessly be replaced with MariaDB or are there things to change in this case?](http://stackoverflow.com/questions/4106315/can-mysql-seamlessly-be-replaced-with-mariadb-or-are-there-things-to-change-in-t) – ceejayoz Mar 24 '14 at 17:50
  • 1
    From mariaDb kb : https://mariadb.com/kb/en/guiworkbench-for-mariadb-aria/ - So, yes. – TJ- Mar 24 '14 at 20:44
  • NO - Mysql Workbench (mysql-workbench-639-w64-2017-5.msi GPL software) will crash while trying to connect with MariaDb (10.1.21-MariaDB, GPL, in Xampp) on Win7. Mentioned elsewhere on the web, that it only works with oracle's mysql, this omission of information on download pages is not befitting a GPL software. – mosh May 31 '17 at 08:45

5 Answers5

12

From my experience -- Sure, you can use MySQL Workbench with MariaDB. However, I have tried basic functionalities only, like queries, schema design etc. Not sure about compatibility of advanced features.

Tushar Sudake
  • 1,148
  • 1
  • 14
  • 25
  • 1
    Creating foreign keys and some other stuff seems to crash MySQL workbench most of the time. So you might want to look into something else (PHPMyAdmin for example). – RobinJ Nov 08 '14 at 10:11
  • It is the same reason I had shifted to [SQLyog] (https://www.webyog.com/product/sqlyog) for bigger deployments. –  May 23 '17 at 06:48
11

So my experiences are, yes you can use MySQL Workbench for MariaDB database designs.

However I needed to change the "Default Target MySQL Version" to 5.7.

This can be done by going to: Edit->Preferences in the menu. And finally to Modeling->MySQL.

Since the latest MySQL version, v8.x, the SQL statements are not compatible with MariaDB statements (like creating an index). MariabDB creating an index on a table:

INDEX `fk_rsg_sub_level_rsg_top_level1_idx` (`rgs_top_level_id` ASC)

vs

MySQL:

INDEX `fk_rsg_sub_level_rsg_top_level1_idx` (`rgs_top_level_id` ASC) VISIBLE

MariaDB can't handle this VISIBLE keyword in this example. Using an old MySQL Version, MySQL Workbench will forward engineer a compatible MariaDB SQL file.

Currently (Oct 2019) the generated SQL_MODE output is still compatible with MariaDB. Just like InnoDB, which is also preferred when using MariaDB in most cases.

Melroy van den Berg
  • 2,697
  • 28
  • 31
  • 2
    Helpful, thank you. I was having trouble forward engineering my MySQL Workbench model to a MariaDB db in XAMPP. Lowering the target mysql version solved the syntax errors during the forward engineering – Brayn Jun 09 '20 at 10:28
8

Just to list a few other options:

MonkeyPushButton
  • 1,077
  • 10
  • 19
  • 3
    And [Database Workbench](http://www.upscene.com/database_workbench/) has official MariaDB support now. – Martijn Tonies Feb 24 '15 at 09:52
  • 1
    HeidiSQL and SQLyog are only available for windows and Heidi SQL is said to be able to run with Wine on Linux but I haven't tested it yet. – Elliptical view Jan 31 '17 at 19:45
  • This site has great list of alternatives http://alternativeto.net/software/mysql-workbench/ – Jonathan May 04 '17 at 00:41
  • Heidi Sql do not provide database visualization like MySQL workbench. However its fine for running query - very handy. – DevWL Jul 15 '21 at 16:43
1

No.

The latest version of Workbench 8.0 is not supported in MySQL.

see error description here

T.S.
  • 18,195
  • 11
  • 58
  • 78
Tom
  • 11
  • 1
0

Yes, although connecting to view existing database on a remote MariaDB server will crash the current client (6.3.10). I use it mainly to deploy database models and that works fine, even on remote servers.

I just deployed to a MariaDB 10.3 server with that client and it worked fine, see screenshot.

user1607016
  • 453
  • 2
  • 5
  • 20
  • You could try doing an SSH tunnel as a workaround for the crashing problem. That way the client thinks it's connecting to a local database. However, I'm wary of using this tool, as I've run into numerous problems trying to use MySQL Workbench with MariaDB 10.3. For instance, I had a column in a table that had actually had default value of NULL, but it was showing in MySQL Workbench as the empty string. Stuff like that can both introduce bugs, and make debugging difficult. – cazort Aug 13 '21 at 20:24