从MariaDB迁移到MySQL-差异

时间:2019-04-19 20:00:56

标签: php mysql mariadb

我正在一个小型社交网络上工作(只是为了填补我的空闲时间),所以我开始使用Maria数据库。但是我对此有一些问题(长话不说),所以我将其更改为MySQL数据库。但是在此之后,我将无法在某些表中插入值(例如,对于Maria,我毫无问题地将值插入到“ messages”表中,现在当我拥有MySQL时,不会在该表中插入值)。

我对这两个数据库之间的差异了解不多。 这可能是它无法正常工作的原因-从Maria更改为MySQL吗? Maria是否有可能“支持” MySQL不支持的功能? 我没有任何错误,只是没有在表中插入值。

2 个答案:

答案 0 :(得分:0)

阅读此链接https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/,其中详细讨论了MariaDBMySQL的各个版本之间的兼容性问题:

有一个名为ESF Database Migration Toolkit

的工具包

选择数据源

enter image description here

选择目的地

enter image description here

ESF数据库迁移工具包(http://www.easyfrom.net/):该工具包大大降低了从以下任何数据库/文件系统迁移的工作量,成本和风险:Oracle,MySQL,SQL Server,PostgreSQL,IBM DB2,IBM Informix,InterSystemsCaché,Teradata,Visual Foxpro,SQLite,FireBird,InterBase,Microsoft Access,Microsoft Excel,Paradox,Lotus,dBase,CSV / Text,并将任何ODBC DSN数据源传输给它们。

阅读:https://www.easyfrom.net/articles/mariadb_to_mysql/

答案 1 :(得分:0)

我找不到从MariaDB迁移到MySQL的直接方法。这是我完成工作所要做的。您可以-

导出没有这种模式的数据库

mysqldump --no-create-info --complete-insert -u$user -p$pass $database_name | sed -e "s/\\\'/''/g"  > dump.sql
  

-no-create-info(跳过模式)

     

-complete-insert(获取具有值的列名称)

     

| sed -e“ s / \\'/''/ g”(将流中的'替换为')

然后只需运行迁移来创建表并导入dump.sql,希望对您有所帮助。