将现有数据库连接到mysql

将现有数据库连接到mysql,mysql,mysql-workbench,Mysql,Mysql Workbench,我在笔记本电脑上安装了mysql,并将数据库文件夹复制到默认的db文件夹。在mysql workbench中,我可以看到我的新数据库及其表,但我看不到任何列,也无法查询表,当我这样做时,我得到的错误是表不存在。怎么了?过去,物理移动文件已被接受(仅适用于MyISAM表),但不应再用于传输数据库。而是导出数据并将其导入新位置。一种方法是进行转储(有点像当前结构+数据的快照)并导入该转储。另一种方法是迁移,尤其是MySQL工作台。启动迁移向导(通过“数据库”菜单),选择一个源数据库(连接),为目标选

我在笔记本电脑上安装了mysql,并将数据库文件夹复制到默认的db文件夹。在mysql workbench中,我可以看到我的新数据库及其表,但我看不到任何列,也无法查询表,当我这样做时,我得到的错误是表不存在。怎么了?

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


如果源服务器和目标服务器都不在本地机器上,那么MySQL Workbench中就有一个特性。它可以创建适当的导入和导出脚本,您可以直接在您的计算机上运行以进行导出和导入,这是为特定的操作系统和服务器类型准备的。如果您是从其他db产品(例如DB2->MySQL)迁移,这一点尤其有用。

根据您对MySQL的熟练程度,您可以使用MySQL工作台导出和导入数据,也可以使用mysqldump。对于MySQL Workbench,请在此处查看手册:

要完全控制,请使用mysqldump:

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

mysqldump --databases db1 db2 db3 > dump.sql
将dump.sql移动到目标计算机,然后执行

mysql -u username -p -h 192.168.0.12 < dump.sql
mysql-u用户名-p-h192.168.0.12
(将192.168.0.12替换为mysql服务器IP地址,用户名替换为具有足够权限的用户)

使用mysqldump的优点是您可以调整dump.sql(例如更改数据库类型、删除部分数据等)


像往常一样,在执行此类操作、进行备份等时要格外小心。

Hi Matthijs,将“我的数据库”文件夹复制到默认的db文件夹到底是什么意思?这是来自另一个数据库实例吗?在这种情况下,您最好先进行数据库转储并导入它。好吧,所以将数据库传输到另一台服务器的正确方法是进行转储,然后再导入它?是的,这是正确的方法