草庐IT

mysqldump-x-restore

全部标签

java - 带有 java Runtime.getRuntime().exec(command) 的 mysqldump 命令不生成转储

我试过以下代码片段:Processp;Stringcommand="mysqldump-u'scmuser'-p'scm$123'--routinesdb_name>/home/ubuntu/wh_demo_db_reset.sql";p=Runtime.getRuntime().exec(command);转储文件没有生成,也没有抛出任何错误。我无法预测确切的问题请帮助我。提前致谢。 最佳答案 元字符“>”由shell实现;使用Runtime.exec()运行程序时不涉及shell,因此mysqldump的最后两个参数是垃圾。使用

php - MySqlDump - 使用 Windows 清空转储

尝试使用mysqldumpexe获取本地转储。在MAC_OS上运行良好。就在Windows上,我得到一个退出代码1和一个本地空的.sql文件。我使用了以下代码:$command=''.$locationDumpExe.'--user='.$dbuser.'--password='.$dbpassword.'--no-data--host=localhost'.$dbname.'>'.$dumpfile.'';exec($command,$output,$return_var);变量设置如下:$locationDumpExe="/xampp/mysql/bin";$dbuser="roo

mysqldump 创建的行多于主键的实际范围

我有一个大约有290,000行长的表。在备份之前,它可能花费了mysqldump创建此表的备份时,备份文件占用约800MB,当我使用mysql从备份文件重新加载时,我现在看到它有~430,000行,比原始表多得多(我正在通过HeidiSQLUI检查)。但是如果我对主键的总范围进行查询,它与旧表相同(~290,000)。可能出了什么问题?这里是相关特定表的CREATE代码。它只是一个变量列表(DECIMAL类型)CREATETABLE`ciceroout`(`runID`INT(11)NOTNULLAUTO_INCREMENT,`IterationNum`DECIMAL(20,10)NU

mysql - 使用 mysqldump 将大型 Innodb 数据库缓慢导入 Amazon RDS

好的我正在试验AmazonRDS,在使用mysqldump及时加载InnoDB数据库时遇到了很多麻烦。我正在尝试将我的本地数据库迁移到云端。使用mysqldump--single-transaction--opt-uroot>file.sql我可以在大约3分钟内将转储(~1.5GB)转储到我的本地文件中。数据库大约4G,但mysqldump生成一个大约1.5G的sql文件当我使用mysqldump-hlocalhost-uXXXX-pXXXXDBNAME--compress--single-transaction--quick--opt--order-by-primary|mysql-

mysql - mysqldump 错误 : mysqldump: [ERROR] unknown variable 'database=someDb'

我收到以下错误:mysqldump:[ERROR]unknownvariable'database=myDB1'当我运行这个命令时:mysqldump-uroot-pmyDB2>someFile有一个名为myDB1的数据库,当然还有一个名为myDB2的数据库。这以前有效(或者我认为如此)。我不记得更改过my.cnf或任何其他配置文件。 最佳答案 您的问题可能与~/.my.cnf有关。您可能在~/.my.cnf文件中设置了database选项,例如database=somedatabase在[client]组中,而不是在[mysql]

mysql - 如何用mysqldump写存储过程来分隔文件?

mysqldump选项--tab=path将每个表的创建脚本写在一个单独的文件中。但是我找不到存储过程,除了在屏幕转储中。我需要将存储过程也放在单独的文件中。我目前正在研究的解决方案是以编程方式拆分屏幕转储。有没有更简单的方法?目前我使用的代码是:#saveallroutinestoasinglefilemysqldump-p$PASSWORD--routines--skip-dump-date--no-create-info--no-data--skip-opt$DATABASE>$BACKUP_PATH/$DATABASE.sql#saveeachtabletoitsfilemys

mysql - 备份的理想 mysqldump 选项

我正在为我们的数据库服务器创建一个备份脚本,我想问一下是否有任何首选选项可以包含在mysqldump中。该脚本将每6-24小时从cron调用一次。我们只使用InnoDB。我们的数据库相当大,我很可能会单独转储表集群,而不是一次性转储整个数据库。目前,我正在考虑包括:--opt#enabledbydefault--quote-names#enabledbydefault--single-transaction--skip-comments关于创建良好、可靠的转储文件的任何其他建议或指示? 最佳答案 我建议您再设置一台带有mysql的服

php - mysqldump:作为 crontab 写入时出现错误号 32(1 和 1 共享主机)

我正在使用1and1建议通过mysqldump(http://faq.1and1.co.uk/archive/43.html)备份MySQL数据库的确切代码$host='xxxx';$user='xxxx';$pass='xxxx';$db='xxxx';system(sprintf('mysqldump--opt-h%s-u%s-p%s%s|gzip>%s/backup/'.time().'.sql.gz',$host,$user,$pass,$db,getenv('DOCUMENT_ROOT')));出于测试目的,已将所有权限更改为777。仍然没有运气。继续报错(errno32on

mysqldump + auto_increment 导致主键错误

我正在使用mysqldump(a)转储一个表,然后(b)将它插入到别处。当我尝试执行(b)部分时出现问题。这是我得到的错误。键“PRIMARY”的重复条目“1”现在,坚持,坚持。我知道我没有插入重复的主键....我检查了CREATETABLE语句。id字段上的auto_incremement保留为id列的最大值:AUTO_INCREMENT=45634650。我认为问题在于,如果您尝试插入id值小于auto_increment指定值的任何行,MySQL将给出此错误....无论该id是否重复。我尝试从TABLECREATE语句中手动删除AUTO_INCREMENT。仍然是同样的错误。更新

python - 从 mysqldump 备份执行相互依赖的 View

mysqldump使用按字母顺序列出的表(和View)创建转储。当表之间存在外键关系时,这不是很方便,但是,通过运行可以轻松解决问题:SETFOREIGN_KEY_CHECKS=0;我有一种情况,例如,Viewvwapple依赖于Viewvworange。使用mysqldump,vwapple在vworange之前列出并执行,这是有问题的,因为我们会收到“Viewvworange不存在”错误消息。这种情况如何解决?View是否具有与表类似的解决方案?还是让每个View独立来解决这个问题更好?注意我正在使用python脚本恢复数据库。每个View和表都在其单独的.sql文件中,因为我想独