如何在MYSQL中仅使用特定的数据库和表

如何在MYSQL中仅使用特定的数据库和表,mysql,Mysql,当特定的数据库和表使用mysqldump时,我遇到了一个问题 IP服务器中的第一个(111.111.1.1假服务器) 有3个数据库,分别是DBname1、DBname2和DBname3 我需要将表mm_cash转储到DBname2中 我使用的查询: mysqldump --host=111.111.1.1 --user=fakeuser --password=fakepas --databases=DBname2 --tables=mm_cash --where="true limit 1" &

当特定的数据库和表使用mysqldump时,我遇到了一个问题

IP服务器中的第一个(111.111.1.1假服务器) 有3个数据库,分别是DBname1、DBname2和DBname3

我需要将表mm_cash转储到DBname2中

我使用的查询:

mysqldump --host=111.111.1.1 --user=fakeuser --password=fakepas --databases=DBname2 --tables=mm_cash --where="true limit 1" > D:\test.txt
然而,我得到了这个错误:

mysqldump:[警告]在命令行界面上使用密码 这可能是不安全的。mysqldump:[警告]mysqldump:忽略选项 “--databases”由于无效值“DBname2”mysqldump:[错误] mysqldump:选项“--tables”不能接受参数

对于第二个错误,我已经检查过这是一个正确的数据库名称。
有人能帮忙吗?

问题在于您使用选项(数据库和表)的方式。 实际上,您不应该使用它们,但必须按照帮助中的指定,将数据库名称和表放在命令的末尾:

Usage: mysqldump [OPTIONS] database [tables]
试试这个:

mysqldump --host=111.111.1.1 --user=fakeuser --password=fakepas --where="true limit 1" DBname2 mm_cash  > D:\test.txt
试试这个

mysqldump -u fakeuser -p DBname2 mm_cash > DBname2_mm_cash.sql

谢谢,这是工作。顺便说一下,如果我想要只包含列标题和数据的文件,请提供建议。请参阅此脚本mysqldump--host=111.111.1.1--column statistics=0--skip触发器--extended insert--compact--no create info--skip lock tables--user=fakeussr--password=fakepas--where=“true limit 100”DBname2 mm\u cash>D:\test.txt类似的内容?mysql-p--silent-e“select*from mm_-cash”DBname2是的,这就是我要找的,非常感谢。最后一个问题,你能为这个查询提供建议吗?mysql-p--silent-e“select*from mm_-cash”DBname2,我需要用“|”分隔字段。现在是点击。我在谷歌上找到了--字段以结尾,但它不起作用。mysql-h-u-p-e“select*from table”databasename--字段以=“|”结尾--行以=“\n'>D:\test.txt结尾我认为不可能更改delimeter。但是您可以尝试-t参数:mysql-p-t--silent-e“select*from mm\u cash”“dbname2什么不起作用?最后的命令?您使用的是什么版本的mysql客户端?用mysql-h检查相应的标志。我的是:“-t,--表格式的表输出”。谢谢,这是工作。顺便说一下,如果我想要只包含列标题和数据的文件,请给出建议。请参阅此脚本mysqldump--host=111.111.1.1--column statistics=0--skip triggers--extended insert--compact--no create info--skip lock tables--user=fakeussr--password=fakepas--where=“true limit 100”DBname2 mm\u cash>D:\test.txt