关于MYSQL数据库不能导入的问题,请教大神。

其实我之前已经遇到过这个问题好几次了。
记得有一次,一个新手兄弟在导入MySQL数据库的时候,直接注释掉了自己创建数据库的语句。
结果数据库没有正确创建,导入失败。
当时我还挺困惑的,后来发现是注释字体的问题。

顺便说一下,导入MySQL数据库其实有两种常见的方法。
第一种是使用SQL脚本导入,安全性更高,兼容性也更好。
我以前用过这个方法导出数据库,操作也很简单。

首先您需要导出 SQL 脚本。
有两种方法可以做到这一点,一种是使用 phpMyAdmin 工具,另一种是使用 mysqldump 命令行工具。
之前导出的时候用的是mysqldump,用起来很方便。
只要在命令行中输入相应的命令,就可以导出整个数据库的SQL脚本。

例如,如果要导出名为abc的数据库,可以这样做:mysqldump -u 用户名 -p abc > abc.sql。
您可以根据您的实际情况在此输入您的用户名和密码。
导出期间,可能会要求您输入密码。
请记住输入您的数据库用户密码。

导出完成后,您可以在原始数据库服务器上创建一个空数据库。
这也很简单。
您可以直接在 phpMyAdmin 中创建它或使用命令行。

现在是导入 SQL 脚本的时候了。
有两种方法,一种是使用phpMyAdmin,另一种是使用mysql命令行工具。
我一般都是用phpMyAdmin直接加载导出的SQL文件,然后运行就导入成功了。

但是请注意,phpMyAdmin 对上传文件的大小有限制。
如果导出的SQL文件较大,可以先用gzip压缩,这样可以减小文件大小,导入速度更快。

至于直接复制数据库目录和文件的方法,这种方法可能与不同的操作系统或者MySQL版本不兼容,所以我一般不推荐使用。
但如果数据库不大,也可以尝试一下。
首先准备好原始文件,用tar打包,然后创建一个空数据库,解压文件,最后将文件复制到相应目录并设置权限。

无论如何,数据库导入导出操作虽然看起来有些繁琐,但是一旦熟练了,上手还是相当简单的。
我记得我也是一步一步摸索出来的。
现在回想起来,还是蛮帅的。

解决:MySQL workbench8.0 无法导入csv

您好,您最近因为将CSV导入MySQL Workbench8 .0而秃头了吗? 我告诉你,这件事很烦人,但也不是没有希望。
我以前也曾陷入过陷阱,我会向你解释清楚。

上周有客户问我为什么总是导入文件失败。
我打开一看,亲爱的,问题确实出在你提到的两点上。
我直接告诉他,你放心,我给你分解。

第一点也是最常见的:导入时数据库列表为空。
想一想,为什么是空的? 并不是说没有指定默认的Schema。
想一想,当你操作电脑的时候,是不是必须要打开一个文件夹才可以往里面放东西呢? 数据库也是如此。
Workbench没有设置默认数据库,它当然不知道把数据放在哪里。
解决方案非常简单。
在左上角导航栏中,找到您的目标数据库,右键“设置为默认架构”,并将其设置为默认。
这一步完成后,如果再次导入,就不能为空了。

第二点是文件打不开、代码乱码或者提示格式错误。
在这件事上,十有八九,编码是不正确的。
想一想,如果你用Excel创建表格,然后保存为CSV,可能会默认为ANSI或GBK编码,尤其是有汉字的时候。
但 MySQL 想要 UTF-8 如果直接使用Workbench导入的话,它是识别不了的,自然会崩溃。
我以前也曾遭受过这样的损失。
数据全是乱码,就像是从天上读到的一样。
我也告诉你解决方法: 1 .先使用Excel另存为CSV(逗号分隔),但不要急于使用这个。
2 .用Notepad++打开这个CSV文件,点击菜单栏中的“编码”->“转换为UTF-8 格式”,然后保存。
这一步很关键。
3 .保存后,使用Workbench导入。
请记住检查下面的表结构是否与文件中的列名称和数据类型匹配。

补充一点,不要完全信任 Excel。
要知道Excel的“另存为CSV”有时真的很不靠谱,尤其是在处理中文数据时。
我试了好几次了,保存后还是得用Notepad++手动传输。
因此,不要指望 Excel 能够一步到位。
使用 Notepad++ 或 VSCode 和 SublimeText 等编辑器来更改编码是一件严肃的事情。

另外,表结构必须正确。
这件事极其重要! 导入之前,首先检查目标表的结构。
列名称和数据类型必须与 CSV 文件中的完全相同。
这几乎是不可能的。
例如,如果文件中的列是 VARCHAR 但它是 TEXT,则导入将会失败。
正因为如此,我改变了手表的结构很长时间才成功。

我将带您完成完整的操作流程: 1 、首先在Workbench中新建一个数据库,然后将其设置为默认的Schema。
2 .使用Notepad++将CSV文件转换为UTF-8 编码并保存。
3 . 返回Workbench,单击“导入数据”并选择已转换的文件。
4 . 检查以下名称和数据类型是否正确,然后单击“下一步”开始导入。
5 、导入后,快速检查数据库中的数据是否正确。

最后提醒一下: 如果还是不行,你得检查一下文件中是否有乱码,比如制表符、换行符等。
有时这些不可见的字符也会导致导入失败。

反正你能搞清楚,一步步来,基本上就可以解决了。
如果你实在想不出来,再问我,我给你看一下。

在ds窗口中导入MYSQL数据库时报error 1049 (42000):Unknown database ';'这个错误

老实说,这个错误 1 04 9 (4 2 000) 是一个非常烦人的小错误。
我以前做项目的时候至少经历过五次这样的情况,就像在迷宫里来回走动一样。
你提到的解决方案触及底线,但我认为可以更详细,以防止新手朋友陷入困境。

我记得当我们团队的新人导入 DS 窗口时,它崩溃了。
我查看日志,又是1 04 9 我请他不要担心所有花里胡哨的事情;但要直接打开cmd,输入 mysql -u 用户名 -p 回车并输入密码。
这一步尤为重要。
一些带有 IDE 的数据库工具将密码直接包含在连接字符串中,这可能会导致问题。

进入控制台后不要急于执行任何命令。
首先,检查当前的默认数据库是什么。
使用展会数据库;它可以帮助您快速找到问题——通常是因为您在 Import DS 窗口中填写的库名称与当前连接的数据库不同。
我见过有人填写“test”但自然会报错,因为连接字符串使用root用户的默认数据库“mysql”。

这里最激动人心的动作来了。
如果不确定数据库名称是否实际存在,请使用 show create database 数据库名称\G;不要忘记\G。
如果添加这个参数;输出结果会以列的形式显示,字段类型、字符集等一目了然。
这比默认的堆叠输出要好得多。
我有一个朋友创建了显示数据库数据库名称。
数据库创建时描述的数据库名称;结果,我认为电脑崩溃了,因为字段太多,卡在终端里了。

还有一个缺陷。
有些IDE的DS窗口有一个特别容易混淆的“自动选择数据库”功能。
我建议手动定义数据库,例如使用数据库名称。
先改一下,然后进入表结构。
这一步很重要,但可以减少许多隐藏的错误。

归根结底,1 04 9 错误意味着数据库连接字符串中的数据库名称与实际存在的库名称不匹配。
尽管您的解决方案已经是根源。
您必须注意细节,尤其是在使用 \G 参数时。
如果使用得当,可以节省时间。