草庐IT

mysqldump-x-restore

全部标签

mysql - 获取 mysqldump 以转储适合 psql 输入的数据(转义单引号)

我正在尝试将数据库从MySQL移植到PostgreSQL。我已经在Postgres中重建了架构,所以我需要做的就是获取数据,而无需重新创建表。我可以使用迭代所有记录并一次插入一个记录的代码来做到这一点,但我试过了,对于我们的数据库大小来说,它是waaayyyy减慢,所以我尝试使用mysqldump和一个管道到psql中(每个表一次,一旦我让它工作,我可能会并行化)。我不得不跳过各种障碍才能走到这一步,打开和关闭各种标志以获得一个隐约正常的转储。同样,这只会转储INSERTINTO,因为我已经准备好空模式以将数据放入:/usr/bin/env\PGPASSWORD=mypassword\

mysqldump 合并而不是覆盖

我有一个开发服务器,其中包含一个可以编辑的数据库副本,还有一个实时真实服务器,其中包含处于不同状态的相同数据库。要将数据库从开发服务器移动到实时服务器,我从开发服务器运行:mysqldump-uroot-p--optdb_nametbl_name|mysql-uuser_name-p--host=live_IP-Cdb_name在db_name、tbl_name、user_name和live_IP中使用适当的值。然而,这目前将表放在实时服务器上并复制开发版本——有效地覆盖所有内容并丢弃实时表中的任何新数据。我真正想要的是在开发服务器中有新行,冲突行来自开发服务器的副本,但实时服务器副本

python - 将 subprocess.call 与 mysqldump 一起使用

多年来我一直在使用Windows编写脚本,直到最近几周才开始考虑将Python作为替代方案。我正在尝试编写一个nativepython脚本来使用mysqldump备份mysql数据库。我通常使用命令行管道输出来执行此操作>没有问题。我看到很多关于subprocess.popen和shell=True的答案,同样我看到很多陈述说我应该避免shell=True所以我试图获取以下代码以将我的标准输出重定向到一个文件,但都没有成功sys.stdout=open("mysqldump.txt",'w')print("testingline1")subprocess.check_output(["

来自不同数据库的 Mysqldump 表?

我想备份两个表:table1和table2。table1来自数据库database1。table2来自数据库database2。有没有办法通过单个mysqldump调用来转储它们?我知道我能做到:mysqldump-SunixSocket--skip-comments--default-character-set=utf8--databasesdatabase1--tablestable1>/tmp/file.sql但是如何从不同的数据库中转储两个表呢? 最佳答案 使用mysqldump两次,但第二次使用重定向到文件作为追加>>/t

mysql - 在 mysqldump 上强制使用 row_format

我正在将整个服务器转换为使用Barracuda文件格式和动态行格式。这是我所做的:完整的mysqldump配置*innodb_file_per_table=1*和*innodb_file_format=barracuda*重置了所有mysql数据。导入了所有转储的数据库。由于我再次创建了所有数据库并重新创建了表,所以我原以为它们都是梭鱼,但大多数都是羚羊。有没有办法在mysqldump上或导入时指定row_format?注意:在有人问为什么之前,我尝试了不同的文件格式来测试哪种文件格式在我们的服务器上表现最好,我们的服务器目前有680个数据库,总共有326k个表和40Gb。现在主要问题

MySQL 5.6 - 如何在没有密码提示的情况下使用 mysqldump 在 Windows 上创建备份

我是MySQL新手,但需要安排一个任务来自动备份我的数据库。我已经设法使用以下命令手动创建备份:-mysqldump-uroot-p--all-databases>"a:\mysql\all_databases.sql"但我不知道如何在不手动输入密码的情况下运行命令。我试过:--mysqldump-uroot-p'*mypassword*'--all-databases>"a:\mysql\all_databases.sql"似乎可以执行,但生成的文件大小只有1kB。而第一个命令生成一个2661kB的文件。谁能帮帮我? 最佳答案 尝

mysql - 从 mysqldump 创建的 SQL 恢复后出现错误 1465 "Triggers can not be created on system tables"

我在amazonRDS上运行mysql5.6服务器,并设置了一个只读副本,用于使用mysqldump创建备份。我尝试使用“--all-databases”选项,但是当我尝试导入由mysqldump创建的SQL时,我最终遇到了来自mysql命令客户端的错误:ERROR1465"Triggerscannotbecreatedonsystemtables"我使用“--all-databases”是因为我基本上想在发生崩溃时将RDS中的所有内容恢复到以前的状态。也许这是错误的,我应该只选择我的模式(加上mysql.users表)?但是,如果“--all-databases”永远行不通,它最初的

mysql:恢复在 mysqldump 中使用 "--tab"选项创建的备份

mysqldump具有“--tab”选项,可以为每个表拆分转储文件。mysql为每个表创建一个.sql文件(带有模式)和一个.txt文件(带有数据)。.sql文件工作正常,但如何从.t​​xt文件导入数据? 最佳答案 官方文档没有隐藏导入这些*.txt和外键约束的情况。还有开长寿bug#19996在mysqlimport中实现外键忽略。所以它必须手动完成。#!/bin/bash-eDIR=/path/to/csv/backupDATABASE=databaseUSER=userPASSWORD=passwordforfilename

mysqldump:出现错误:1045 访问被拒绝

我登录到AWS实例并尝试将mysql数据库复制到.sql文件。我正在使用命令:mysqldump-u[username]-p[databasename]>[database].sql然后输入密码,出现以下信息。"mysqldump:Goterror:1045:Accessdeniedforuser'[username]'@'localhost'(usingpassword:YES)whentryingtoconnect."我可以使用与上面相同的凭据直接登录到mysql,但仍然会出现相同的错误。我为上面的命令尝试了很多不同的方法,但这似乎是权限问题或类似问题。在查看phpmyadmin时

不锁定表的 MySQLDump

貌似如果表很多的话,只能执行一次MySQLDump,不能全部加锁,否则会报错。在不锁定所有表的情况下执行MySQLDump的副作用是什么?我通过这种方式获得的数据库快照是否一致?我是否有任何其他方法来备份包含许多表的MySQL数据库? 最佳答案 最好的方法(如果使用InnoDB)实际上是在复制的从服务器上运行备份。这样锁定将没有任何后果。否则只需使用提到的--single-transaction标志。 关于不锁定表的MySQLDump,我们在StackOverflow上找到一个类似的问题