ERROR 1046 (3D000) at line 28: No database selected
我首先创建了一个空数据库,其名称与.db相同。 sql文件,但它不起作用。
我也尝试使用以下命令与mysql命令客户端一起使用它:我的SQL语法错误。此外,我不知道我必须设置file.sql的路径。
#1 楼
Juergen d的答案当然是正确的;但是,考虑到您的错误消息,您也可以将其添加到SQL文件的开头,例如:工作台。使用
mysqldump
时,导出的文件将保存在当前文件夹中。沿着什么路径都没关系。仅当从命令行导入时,您需要位于同一文件夹或指定文件路径。但是,当您使用可视工具(如Workbench)时,情况并非如此,无论如何您都需要从文件夹树中选择文件。#2 楼
出口:mysqldump -u username –-password=your_password database_name > file.sql
进口:
mysql -u username –-password=your_password database_name < file.sql
评论
-p和密码之间必须没有空格
– tombom
2012年9月14日上午11:47
如果我没有密码怎么办?
–芭芭拉·梦想家
2012年9月14日上午11:57
然后跳过密码参数。
– Kazimieras Aliulis
13年5月31日晚上10:35
管道(mysqldump db -uuser -ppass | mysql new_db -uuser -ppass)消除了使用中间文件的需要。
–起搏器
15-10-12在10:05
我认为数据库必须在MySQL中存在才能正常工作。
–本体
16年5月5日在2:02
#3 楼
您还可以将.sql文件作为已连接的用户导入数据库方式:mysql> use your_database_name;
mysql> source file.sql;
评论
源D:/path/file.sql;作品精湛!记住前斜杠而不是后斜杠。
–神庙
2015年1月9日在11:08
#4 楼
当source <filename>
不起作用时,导入转储文件的另一种方法是执行以下操作:转储
~> mysqldump --user=<user> --password=<password> <db_name> > <export_file_name>.sql
导入
> mysql -u <user> -p <pass> <db_name>
mysql> USE <db_name>; (if you didn't already select)
mysql> \. ~/<export_file_name>.sql
#5 楼
您缺少命令中的密码。请使用以下内容。mysql --u [username] --password=[password] [database name] < [dump file]
#6 楼
对于Windows,在MySQL服务器安装目录(例如C:\Program Files\MySQL\MySQL Server 5.5
)的my.ini file
中,在服务器部分的[mysqld]
下添加以下行:max_allowed_packet = 16M
并保存更改。 (如果不允许保存,请复制并粘贴到桌面上,然后再次编辑,然后将其粘贴到相同位置。)
之后,重新启动MySQL服务器。
评论
我可以使用下面的mysql> use mydatabase导入mysqldump; mysql>源sql_file.sql;