我有一个相当大的数据库,所以我想用命令提示符导出它,但我不知道如何。
我正在使用WAMP。
我有一个相当大的数据库,所以我想用命令提示符导出它,但我不知道如何。
我正在使用WAMP。
当前回答
所有这些解决方案(使用>重定向器字符)的问题是您从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
其他回答
mysqldump -h [host] -p -u [user] [database name] > filename.sql
localhost中的示例
mysqldump -h localhost -p -u root cookbook > cookbook.sql
首先检查您的命令行是否识别mysql命令。如果没有,进入命令并输入:
set path=c:\wamp\bin\mysql\mysql5.1.36\bin
然后使用这个命令导出您的数据库:
mysqldump -u YourUser -p YourDatabaseName > wantedsqlfile.sql
然后系统将提示您输入数据库密码。
这将在执行此命令时将数据库导出到您当前所在的路径
注意:这里有一些关于导入和导出的详细说明
你可以使用下面的命令,
Mysqldump——databases——user=root——password your_db_name > export_into_db.sql
生成的文件将在运行此命令的同一目录中可用。
你可以找到更多关于mysqldump的官方参考:Import Export MySQL DB
注意:使用——databases代替——database,因为不再支持最后一个。
享受:)
所有这些解决方案(使用>重定向器字符)的问题是您从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
找到你的mysql实例:
which mysql
如果这是正确的,然后用以下方法导出(否则导航到bin中的mamp文件夹中的mysql实例):
mysqldump -u [username] -p [password] [dbname] > filename.sql
如果你想在同一时间压缩它:
mysqldump -u [username] -p [password] [db] | gzip > filename.sql.gz
然后你可以在服务器之间移动这个文件:
scp user@xxx.xxx.xxx.xxx:/path_to_your_dump/filename.sql.gz your_detination_path/
(其中xxx.xxx.xxx.xxx为服务器IP地址)
然后导入:
gunzip filename.sql.gz | mysql -u [user] -p [password] [database]