2015-10-20 61 views
0

我在我的笔记本电脑上安装了mysql,并将我的数据库文件夹复制到默认的db文件夹。在mysql工作台,我可以看到我的新数据库和它的表,但我看不到任何列,我不能查询表,当我这样做,我得到的表不存在的错误。哪里不对?将现有的数据库连接到mysql

+0

嗨Matthijs,你究竟是什么意思_copied我的数据库文件夹默认db folder_?这是来自另一个数据库实例吗?在这种情况下,你最好做一个数据库转储并导入它。 – mark

+0

Oké,所以将数据库传输到另一台服务器的正确方法是进行转储并导入它? – Matthijs

+0

是的,这是正确的方法 – mark

回答

1

取决于你对MySQL的熟悉程度,你可以使用MySQL Workbench导出和导入数据或使用mysqldump。对于MySQL工作台,看看这里的手册:

https://dev.mysql.com/doc/workbench/en/wb-admin-export-import.html

要拥有完全控制权,使用mysqldump:

https://dev.mysql.com/doc/refman/5.0/en/mysqldump-sql-format.html

基本上它的工作原理如下。在源计算机,执行:

mysqldump --databases db1 db2 db3 > dump.sql 

招dump.sql到目标计算机,并执行

mysql -u username -p -h 192.168.0.12 < dump.sql 

(与MySQL服务器的IP地址替换192.168.0.12,用户名与用户是有足够的权限)

使用mysqldump的好处是,你可以调整dump.sql(例如更改数据库类型,删除部分数据等)

与往常一样,当你正在做这些类型的操作时,要小心备份等。

1

移动文件的物理过去已被接受(仅适用于MyISAM表格),但不应再用于传输数据库。而是导出数据并将其导入新位置。做到这一点的一种方法是转储(这是当前结构+数据的快照)并导入该转储。另一种方式,尤其是使用MySQL Workbench的方法是迁移。启动迁移向导(通过数据库菜单),为目标选择另一个源数据库(连接),选择要传输的对象并按照进一步的步骤操作。数据传输然后直接在应用程序中完成。

如果源服务器和目标服务器都不在本地计算机上,那么MySQL Workbench中就有专门的服务器。它可以创建适当的导入和导出脚本,您可以直接在机器上运行该导出和导出脚本以进行导出和导入,这些脚本随时可用于特定的操作系统和服务器类型如果要从其他数据库产品(例如DB2 - > MySQL)迁移,这尤其有用。