Ich möchte MySQL verwenden, um Folgendes zu tun:
mysqldump -R DATABASE > DATABASE.sql
) mysql --database=NEWDATABASE < DATABASE.sql
)Wenn ich laufe mysqlsh --execute 'util.dumpTables("DATABASE", [], "SQL/DATABASE", {all:true});'
时,它当然只是转储表,这可以轻松地使用此命令导入到全新的数据库 mysqlsh --database=NEWDATABASE --execute 'util.loadDump("SQL/DATABASE", {schema: 'NEWDATABASE',ignoreVersion:true,resetProgress:true});
. Das Problem besteht darin, dass Funktionen und gespeicherte Prozeduren fehlen.
Dann habe ich es versucht mysqlsh --execute 'util.dumpSchemas(["DATABASE"], "DATABASE");'
,然后使用 mysqlsh --database=NEWDATABASE --execute 'util 将其加载到新数据库中.loadDump("DATABASE", {dryRun: true,ignoreVersion:true});'
, aber mir ist sofort aufgefallen, dass versucht wurde, in die ursprüngliche Datenbank zu laden, nicht in meine neue Datenbank. Wie lade ich es also in eine neue Datenbank mit einem völlig anderen Namen?
Falls Sie sich fragen: Ich versuche zu lernen, wie ich MySQL für meinen Anwendungsfall optimal nutzen kann. Das alte mysqldump
ist in diesem Fall also keine Option.
我认为您只需在尝试加载
.sql
文件之前使用文本编辑器对其进行编辑即可。该工具实际上用于转储架构并将其导入到不同的 MySQL 实例,但保持架构名称不变。