Maison  >  Questions et réponses  >  le corps du texte

mysqlsh dump et charge le schéma complet

Je souhaite utiliser mysqlsh pour effectuer les opérations suivantes :

  1. Dumpe le schéma complet d'une base de données donnée (pas seulement les tables, mais les fonctions, les déclencheurs et tout ce qui concerne ce schéma de base de données, comme mysqldump -R DATABASE > DATABASE.sql)
  2. Chargez ce schéma complet dans une toute nouvelle base de données que je viens de créer (similaire à mysql --database=NEWDATABASE < DATABASE.sql)

Quand je cours mysqlsh --execute 'util.dumpTables("DATABASE", [], "SQL/DATABASE", {all:true});' 时,它当然只是转储表,这可以轻松地使用此命令导入到全新的数据库 mysqlsh --database=NEWDATABASE --execute 'util.loadDump("SQL/DATABASE", {schema: 'NEWDATABASE',ignoreVersion:true,resetProgress:true});. Le problème est qu'il manque des fonctions et des procédures stockées.

Ensuite, j'ai essayé mysqlsh --execute 'util.dumpSchemas(["DATABASE"], "DATABASE");',然后使用 mysqlsh --database=NEWDATABASE --execute 'util 将其加载到新数据库中.loadDump("DATABASE", {dryRun: true,ignoreVersion:true});' mais j'ai immédiatement remarqué qu'il essayait de se charger dans la base de données d'origine, pas dans ma nouvelle base de données. Alors, comment puis-je le charger dans une nouvelle base de données avec un nom complètement différent ?

Au cas où vous vous poseriez la question, j'essaie d'apprendre à tirer le meilleur parti de mysqlsh pour mon cas d'utilisation. L’ancien mysqldump n’est donc pas une option dans ce cas.

P粉662802882P粉662802882206 Il y a quelques jours418

répondre à tous(1)je répondrai

  • P粉764785924

    P粉7647859242024-03-27 10:18:17

    Je pense que vous pouvez simplement utiliser un éditeur de texte pour modifier le fichier .sql avant d'essayer de le charger.

    Cet outil vide le schéma et l'importe dans une autre instance MySQL, mais conserve le même nom de schéma.

    répondre
    0
  • Annulerrépondre