Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将sql转储导入MySQL中的所有数据库?_Mysql_Sql_Database - Fatal编程技术网

如何将sql转储导入MySQL中的所有数据库?

如何将sql转储导入MySQL中的所有数据库?,mysql,sql,database,Mysql,Sql,Database,是否有一种方法可以在所有现有数据库上执行导入,而不是指定每个数据库,如mysql-uusername-ppw db_name

是否有一种方法可以在所有现有数据库上执行导入,而不是指定每个数据库,如
mysql-uusername-ppw db_name
?具体地说,我想将所有表从一个数据库传输到另一个数据库,所以我转储了它们,但既然这里有大量数据库,我应该创建脚本还是有解决方法?我希望避免制作脚本,因为数据库名称是加密的,所以它们类似于伪随机字符串。提前感谢

您可以用Java或php编写脚本,不断更改数据库名称,脚本将在所有数据库中导入sql文件。你可以看看下面的问题-

没有类似的内置功能,这是一种相当特殊的情况,很容易解决。这可以是shell/bash中的一行程序。检索数据库列表并将其提供给循环以加载它们

  • 将默认用户设置为:
  • mysql\u配置\u编辑器集-u用户名-p
  • 输入您的密码
一艘班轮:

mysql -NBe "select schema_name from information_schema.schemata where schema_name not in ('mysql','performance_schema','sys','information_schema','others...')" | while read dbname ; do date; echo "loading $dbname"; mysql $dbname < dump.sql"; done 
mysql-NBe“从information_schema.schema中选择schema_name,其中schema_name不在('mysql'、'performance_schema'、'sys'、'information_schema'、'others…')”;同时读取dbname;确定日期;echo“加载$dbname”;mysql$dbname
和块格式化以实现可读性:

mysql-NBe“从信息\u schema.schemata中选择schema\u名称
其中schema_name不在('mysql','performance_schema','sys',中, “信息(模式)”、“其他…)”;在读取dbname时执行
日期;
回显“加载$dbname”;
mysql$dbname 完成


根据“一吨”数据库的确切数量和可用资源,将列表拆分为2个,并运行2个并发会话

应该是这样!谢谢你的回答。