mysql - 如何从 PHPMyAdmin 导出 MySQL 数据库并将其导入 SQLite?

标签 mysql sql sqlite

我想从 PHPMyAdmin(或 MySQl Workbench)导出数据库并将其导入 SQLite 数据库,这样我就可以在不搞砸实时版本的情况下进行本地编辑和测试。我是 SQL 的新手,所以此时所有的导出选项等对我来说都相当密集。我已尝试将默认导出设置 PHPMyAdmin 与命令一起使用

sqlite3 test_db.db < maindb.sql

还有

sqlite3--> .read maindb.sql

但是这些会抛出一堆语法错误和“没有这样的表”错误。

我也试过经常引用的脚本 script found here ,但是当我尝试使用 MySQL Workbench 的导出运行它时,使用命令:

943776/mysql2sqlite.sh maindb.sql | sqlite3 test_db.sqlite

我收到以下错误:

mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysql.sock' (2) when trying to connect

我没有正确配置导出吗?

最佳答案

请注意引用的脚本连接到数据库服务器本身。它期望转储!

./mysql2sqlite -h example.com -u root -pMySecretPassWord myDbase | sqlite3 database.sqlite

这是脚本应该执行的方式。使用主机、用户名、密码和您要转储的 mysql 数据库。

由于数据库转储和 DBMS 功能在不同的 DBMS(如 MySQL 和 sqlite3)之间可能存在很大差异,我建议安装本地 MySQL 服务器而不是使用 sqlite3。当您对 sqlite3 进行更改时,如果不更改就无法应用到 MySQL 生产数据库,您获得了什么优势?

关于mysql - 如何从 PHPMyAdmin 导出 MySQL 数据库并将其导入 SQLite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22663975/

相关文章:

C# 将图像作为 blob 保存到 MySql 数据库

MySQL授予数据库除一张表之外的所有权限

MySQL 从具有规范的文本列中选择

mysql - 在不带 "where"的连接上使用索引

html - Ng-Model 返回 null 而不是什么都没有

SQLite 创建 View 以在行中显示表列

PHP - 如何在 mysql_result 中指定 MySQL 行名称而不是数字

mysql - 小写数据库中的所有表名?

sql - 使用CTE获取emp的层次结构,无论职位如何

ios - 使用 FMDB 的 SQLite : Insert record not working/no such table