如何将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个并发会话 应该是这样!谢谢你的回答。