【问题标题】:Can I use MySQL Workbench to create MariaDB?我可以使用 MySQL Workbench 创建 MariaDB 吗?
【发布时间】:2014-03-24 17:49:16
【问题描述】:

我对数据库完全陌生。我想创建一个数据库;我将制作一个将使用 DB 的小项目。我将使用 Maria DB,因为它完全免费用于商业用途。

问题是:我可以使用 MySQL 工作台程序创建数据库,然后将其转换/更改为 MariaDB 吗?

【问题讨论】:

标签: mysql sql mariadb workbench


【解决方案1】:

根据我的经验——当然,您可以将 MySQL Workbench 与 MariaDB 一起使用。 但是,我只尝试了基本功能,例如查询、架构设计等。不确定高级功能的兼容性。

【讨论】:

  • 创建外键和其他一些东西似乎大多数时候都会使 MySQL 工作台崩溃。所以你可能想看看别的东西(例如 PHPMyAdmin)。
  • 这与我转向 [SQLyog] (webyog.com/product/sqlyog) 进行更大部署的原因相同。
【解决方案2】:

仅列出一些其他选项:

【讨论】:

  • Database Workbench 现已获得官方 MariaDB 支持。
  • HeidiSQL 和 SQLyog 仅适用于 windows,据说 Heidi SQL 可以在 Linux 上与 Wine 一起运行,但我还没有测试过。
  • 这个网站有很多替代品alternativeto.net/software/mysql-workbench
  • Heidi Sql 不像 MySQL 工作台那样提供数据库可视化。但是它可以很好地运行查询 - 非常方便。
【解决方案3】:

所以我的经验是,是的,您可以使用 MySQL Workbench 进行 MariaDB 数据库设计。

但是我需要将“默认目标 MySQL 版本”更改为 5.7

这可以通过转到菜单中的编辑->首选项来完成。最后是建模-> MySQL。

从 MySQL 最新版本 v8.x 开始,SQL 语句与 MariaDB 语句不兼容(如创建索引)。 MariabDB 在表上创建索引:

INDEX `fk_rsg_sub_level_rsg_top_level1_idx` (`rgs_top_level_id` ASC)

对比

MySQL:

INDEX `fk_rsg_sub_level_rsg_top_level1_idx` (`rgs_top_level_id` ASC) VISIBLE

MariaDB 在这个例子中不能处理这个VISIBLE 关键字。使用旧的 MySQL 版本,MySQL Workbench 将转发工程兼容的 MariaDB SQL 文件。

目前(2019 年 10 月)生成的 SQL_MODE 输出仍与 MariaDB 兼容。就像 InnoDB,在大多数情况下使用 MariaDB 时也是首选。

【讨论】:

  • 有帮助,谢谢。我在将 MySQL Workbench 模型转发到 XAMPP 中的 MariaDB 数据库时遇到了麻烦。降低目标 mysql 版本解决了正向工程期间的语法错误
【解决方案4】:

是的,尽管连接到远程 MariaDB 服务器上查看现有数据库会使当前客户端 (6.3.10) 崩溃。我主要使用它来部署数据库模型,它工作正常,即使在远程服务器上也是如此。

我刚刚使用该客户端部署到 MariaDB 10.3 服务器,它运行良好,请参阅 screenshot

【讨论】:

  • 您可以尝试使用 SSH 隧道来解决崩溃问题。这样客户就认为它正在连接到本地数据库。但是,我对使用此工具持谨慎态度,因为我在尝试将 MySQL Workbench 与 MariaDB 10.3 一起使用时遇到了许多问题。例如,我有一个表中的列实际上具有默认值 NULL,但它在 MySQL Workbench 中显示为空字符串。这样的事情既会引入错误,也会使调试变得困难。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-17
  • 2020-08-27
  • 2016-08-15
  • 2011-10-15
  • 2019-12-01
相关资源
最近更新 更多