我有一个相当大的数据库,所以我想用命令提示符导出它,但我不知道如何。
我正在使用WAMP。
我有一个相当大的数据库,所以我想用命令提示符导出它,但我不知道如何。
我正在使用WAMP。
当前回答
语法
(mysqldump.exe full path) -u (user name) -p (password) (database name) > (export database file full path)
例子
c:>d:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe -u root -p mydbname > d:\mydb.sql
其中d:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe将是您实际的mysqldump.exe路径,mydbname是您要导出的数据库的名称,d:\mydb. exe将是您要导出的数据库的名称。SQL是要存储导出数据库的路径。
其他回答
进口:
mysql -u db_username -p newFileName < databasName.sql
出口:
mysqldump -u db_username -p databasName > newFileName.sql
要导出过程、函数和触发器,添加——routines参数:
mysqldump -u yoru -p你的数据库-routines > wantedsqlfile.sql
首先 打开命令提示符,然后在CMD中打开bin目录(我希望你知道CMD命令) 进入WAMP程序文件中MySql文件夹的bin目录。
运行命令
mysqldump -u db_username -p database_name > path_where_to_save_sql_file
按enter system将导出特定的数据库并创建SQL文件到给定的位置。
我希望你能做到。 如果你有任何问题,请告诉我。
所有这些解决方案(使用>重定向器字符)的问题是您从stdout写入转储,这可能会破坏数据库中某些字符的编码。
如果你有字符编码问题。例如:
错误1064(42000):你有一个错误的SQL语法;检查手册,对应于您的MySQL服务器版本的正确语法使用近…
然后,你必须使用-r选项来写入文件。
MySQL
mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump.sql
使用码头工人
docker exec --rm -v $pwd:dump -it mysql:5:7 mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump/dump.sql
注意:这会将当前路径挂载为实例中的转储。
我们在这里找到了答案
相反,不要使用<将转储文件导入数据库,同样,您的非utf8字符可能不会被传递;但更喜欢源选项。
mysql -u user -pYourPasswordYouNowKnowHow --default-character-set=utf8 your-database
mysql> SET names 'utf8'
mysql> SOURCE dump.sql
我试图转储在docker上运行的db,并提出了以下命令来实现相同的目的:
Docker exec <container_id/name> /usr/bin/mysqldump -u <db_username>——password=<db_password> db_name > .sql
希望这能有所帮助!