如果我使用 mysqldump 工具备份旧版本的 MySql 数据库,是否有任何已知风险?例如,如果我在生产机器上使用 mysqldump 5.6 来备份 MySql 5.X 数据库。
我不仅需要"创建表"语句,还需要插入.我应该传递给mysqldump的标志是什么?
另外 - 数据库相对较大(2-2.5G).显然,我希望备份尽可能快.任何可能有帮助的标志?
谢谢
当我尝试重新导入使用mysqldump创建的数据库时,我收到服务器已经消失了.从phpmyadmin导出时,我没有收到该错误.我试图用mysqldump模仿phpmyadmin导出输出.
phpmyadmin有一个名为"创建查询的最大长度"的东西设置为50000.在mysqldump命令中转换为什么选项?
这是我到目前为止:
mysqldump -u username -p pass > backup.sql
我不得不从表中的某些记录中删除所以在这之前我使用mysqldump命令来获取此表的备份.删除后我意识到有一个错误,所以我想到了自己......没有问题....我有备份所以我将恢复它.我认为当你导出然后你使用DATABASE> FILE.SQL,所以导入将意味着DATABASE <FILE.SQL
所以我运行了以下命令:
mysqldump -u USER -p DATABASE < FILE.SQL
Run Code Online (Sandbox Code Playgroud)
然后我意识到我犯了一个错误,因为它开始在屏幕上显示所有记录.就像它在详细模式下运行一样.我完全静静地坐在那里,冷静地想着到底发生了什么!!!! 因为它甚至显示了那些我之前没有出口过的表格.我不知道是要阻止它还是让它完成这个过程.我等了大约2,3分钟然后按下Ctrl + C来阻止它并向上帝祈祷一切都很好.然后我在phpMyAdmin中检查了我的数据库,显然一切都很好,所有表都存在,数据也是如此.
所以我的问题是.....当我用它时它做什么<这是一个真实的数据库,我差点把我的裤子托起来相信我!
谢谢
当我运行mysqldump命令来恢复数据库时,我看到一堆行后跟状态"转储已完成".但是当我检查时,数据库没有变化.这是转储的代码:
mysqldump -uroot -p mydb < /home/gaurav/mydb.sql
Run Code Online (Sandbox Code Playgroud)
这是我运行mysqldump命令时看到的输出:
-- MySQL dump 10.11
--
-- Host: localhost Database: drupal7_new
-- ------------------------------------------------------
-- Server version 5.0.77
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS …Run Code Online (Sandbox Code Playgroud) 将数据从一个amazon rds mySQL实例传输到另一个aws帐户的RDS mySQL实例的最佳方法是什么?
这是为了将Heroku上的网站转移给其他所有者.
当我从打开的Windows命令shell(Win7)运行以下命令时,它工作正常,并将备份写入我的文件系统.MySQL数据库位于远程Linux服务器上.
"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump" -h *******.com -u ******* -p***** --databases ******* > "C:\******\_Database\backups\DB_%date:~0,3%.bak"
Run Code Online (Sandbox Code Playgroud)
但是当我将相同的命令放入批处理文件(whatever.bat)并运行bat文件(最后使用"pause"命令)时,我收到错误"得到错误:1045:拒绝访问用户' 我 ' @'c-24-2-64-138.hsd1.ut.comcast.net'(使用密码:YES)尝试连接时".
为什么它在open命令shell中起作用,但在从bat文件运行时却不起作用?我怎样才能做到这一点?
当我通过Runtime.getRuntime从Java运行相同的命令时,我得到返回代码6.相同的命令在命令行中正常工作:
process = Runtime.getRuntime().exec(mysqldumpCommand);
int processComplete = process.waitFor();
Run Code Online (Sandbox Code Playgroud)
对于这两个命令,当从java运行并且没有转储时,我得到返回代码6.从命令行工作正常(我在本地环境上没有密码)
mysqldump --user=root --password= --host=localhost dbname > c:\temp\dumpfile.sql
mysqldump --user=root --password="" --host=localhost dbname > c:\temp\dumpfile.sql
Run Code Online (Sandbox Code Playgroud)
故意输入错误密码时,我会在java中返回代码2,并在命令行中出现连接错误:
mysqldump --user=root --password= --host=localhost dbname > c:\temp\dumpfile.sql
Run Code Online (Sandbox Code Playgroud)
我在这里找到的返回码:
Taken from client/mysqldump.c in MySQL 5.1.59:
#define EX_USAGE 1
#define EX_MYSQLERR 2
#define EX_CONSCHECK 3
#define EX_EOM 4
#define EX_EOF 5 /* ferror for output file was got */
#define EX_ILLEGAL_TABLE 6
Run Code Online (Sandbox Code Playgroud)
为什么在java中运行相同的命令时得到(错误)返回代码6并在命令行中正常工作?
稍后编辑:我从Windows尝试.
我作为一名实习生工作,并且是铁杆的新手,它的生产经历.我想知道如何从远程服务器获取数据库转储并导入到我的本地数据库,以便我的本地环境镜像站点的实时版本.我可以访问数据库,并且在我的环境中拥有当前版本的代码.我错过了附加到网站的图片和文件,需要它在本地进行更改.
尝试使用以下命令从Java应用程序(IDE Netbeans)备份mysql数据库,但即使我指定了路径,也似乎无法找到该文件:
Runtime.getRuntime().exec("C:\\Program Files\\MySQL\\MySQL Server 5.6\\bin\\mysqldump "+fisier.getName()+" > C:\\"+fisier.getName()+".sql;");
Run Code Online (Sandbox Code Playgroud)
此外,我没有收到任何错误,所以我认为备份已经完成.我怎样才能找到该文件?关于fisier.getName():File fisier = jFileChooserSave.getSelectedFile();
mysqldump ×10
mysql ×6
java ×2
amazon-rds ×1
command-line ×1
database ×1
export ×1
heroku ×1
import ×1
phpmyadmin ×1
process ×1
runtime.exec ×1