我在笔记本电脑上安装了mysql,并将我的数据库文件夹复制到默认的db文件夹中。在mysql工作台中,我可以看到我的新数据库和它的表,但我看不到任何列,我无法查询表,当我这样做时,我得到表不存在的错误。有什么问题?
答案 0 :(得分:1)
过去,物理移动文件已被接受(仅适用于MyISAM表),但不应再用于传输数据库。而是导出数据并将其导入新位置。一种方法是进行转储(这是当前结构+数据的快照)并导入它。另一种方式,特别是MySQL Workbench是迁移。启动迁移向导(通过“数据库”菜单),选择源数据库(连接),另一个用于目标,选择要传输的对象,然后按照后续步骤操作。然后直接在应用程序中完成数据传输。
如果源服务器和目标服务器都不在本地计算机上,那么MySQL Workbench就有一个专长。它可以创建适当的导入和导出脚本,您可以直接在您的计算机上运行以进行导出和导入,可以为特定的操作系统和服务器类型轻松创建。如果要从其他数据库产品(例如DB2 - > MySQL)进行迁移,这将非常有用。
答案 1 :(得分:1)
根据您对MySQL的精通程度,您可以使用MySQL Workbench导出和导入数据或使用mysqldump。对于MySQL Workbench,请查看手册:
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
(将192.168.0.12替换为mysql服务器IP地址,用户拥有足够权限的用户名)
使用mysqldump的优点是可以调整dump.sql(例如更改数据库类型,删除部分数据等)。
与往常一样,在进行这些操作,进行备份等时要小心。