这个问题已经困扰我几个小时了。我一直在尝试使用mysqldump转储数据库,使用:mysqldump--protocol=socket-S/var/run/mysqld/mysqld.sockdatabase`但是,我不断得到:1045:尝试连接时用户'root'@'localhost'(使用密码:NO)访问被拒绝我在本地主机上并在根目录下运行(sudosu)。Root@localhost在mysql用户表中被允许。我可以使用>mysql查看所有的数据库,但是mysqldump不会工作。我不知道root密码(系统生成)。我尝试像这样将套接字添加到my.conf并重新启动mysql服务器
尝试使用以下命令从Java应用程序(IDENetbeans)备份mysql数据库,但似乎无法找到该文件,即使我指定了路径:Runtime.getRuntime().exec("C:\\ProgramFiles\\MySQL\\MySQLServer5.6\\bin\\mysqldump"+fisier.getName()+">C:\\"+fisier.getName()+".sql;");另外,我没有收到任何错误,所以我假设备份已经完成。我怎样才能找到该文件?关于fisier.getName():文件fisier=jFileChooserSave.getSelectedFile();
我可以通过SSH访问Rails应用的生产服务器。我想在我的Mac上创建一个生产数据库的mysqldump。请帮助我实现这一目标。 最佳答案 直接将远程服务器的mysql数据转储到本地的方法是:sshroot@ipaddress"mysqldump-udbuser-pdbname|gzip-9">dblocal.sql.gz或者ssh-lrootipaddress"mysqldump-udbuser-pdbname|gzip-9">dblocal.sql.gz这两个命令做同样的工作。如果您有ssh密码和数据库访问权限,则会出现两次输入
当我有一个带双引号的字段时,mysqldump将转义字符放在前面。例如:'My"test"'->mysqldump生成一个包含该字段的文件,如'My\"test\"'问题是我正在使用该文件将一些数据导入sqlite数据库,而SQLite没有删除转义字符。所以我不需要mysqldump写入转义字符,我可以这样做吗? 最佳答案 如果在*nix(unix、linux、mac)机器上,我可以建议使用sed将\"替换为":mysqldump[options]DB[table]|sed-e's/\\"/"/g'或者,对于现有的mydump.sq
我正在使用mysqldump-x将MySQL数据库导出为XML。我的许多字段包含撇号和其他混淆mysqldump-x-restore的字符的XSLT样式表。仅仅遍历文件并转义XML有问题的字符是不够的,因为这会替换所有合法的XML括号和引号。mysqldump上是否有一个选项可以对列数据进行XML转义? 最佳答案 如果只有少数特殊字符导致麻烦,您可以使用执行(-e)选项结合常规mysql客户端中的REPLACE函数获得与mysqldump-x相同的结果。转义与号字符的示例:mysql--xml-uusername-p-Ddataba
MySQL数据库设置为Localhost:3307。我正在尝试使用mysqldump命令备份我同事的所有数据。我这样写命令行:mysqldump-uroot-h3307-pdatabase>"path_to_dumpfile\database.sql"。然后,系统提示我输入密码(当我打开工作台时不再询问)。问题是,我收到以下错误消息:“mysqldump:出现错误:2005:尝试连接时未知的mysql服务器主机‘3307’”我做错了什么吗?还是我没有遵循的步骤?感谢您的帮助。 最佳答案 尝试将--port=port_num添加到您的
我以某种方式在utf8中有一个phpnuke站点的转储文件。我正在尝试在新服务器上重新打开此站点。但是nuke使用latin1。我需要一种使用此utf-8转储文件创建latin1数据库的方法。我尝试了我能想到的一切。iconv,mysql替换,php替换... 最佳答案 在转储的开头添加SETNAMES'utf8';语句。这将向MySQL表明它即将接收的命令是UTF8格式的。它会将数据存储在您的表当前设置的任何字符集中;在这种情况下,如果您的数据库是latin1,则数据将存储在latin1。来自http://dev.mysql.co
只是想知道在实时数据库上运行mysqldump有什么风险?是否存在数据库损坏的可能性?mysqldump似乎锁定了整个数据库。 最佳答案 您的数据库表使用什么引擎?如果您使用的是事务表,您可以使用“单一事务”选项进行转储,这将以一致的状态转储您的表。如果您使用的是像MyISAM这样的非事务性表,那么您应该不会遇到任何数据库损坏问题。但是,如果您进入比赛场景,您可能会遇到数据不一致的问题。在任何一种情况下,发生转储时,您都将显着减慢数据库响应时间。最好的办法是针对从站运行转储,或者在运行转储之前等待站点处于静止状态。
我只需要恢复数据库中的一个表。我有一个.sql文件,其中包含一张表所需的所有信息,但其余信息会覆盖其他表的重要信息。而不是使用解决方案here-使用我从未听说过的工具,我认为手动完成它会更有把握。不幸的是,MySqlDump生成的GIANT插入行太长,无法粘贴到mysql命令行中...我该怎么办?我应该像上面的链接描述的那样使用sed吗?或者我可以从mysqldump.sql复制粘贴该特定表的命令到一个新的.sql文件中,然后调用:mysql-uroot-p-hlocalhost 最佳答案 你可以试试mysql-uroot-pdat
特别是如果我使用的是GitHub?如果不是,我(或者其他人)应该使用这样的工具吗? 最佳答案 添加一个脚本,将sql文件转储到项目特定的某个位置(但在项目目录内)。mysqldump-uroot-pmy_db>my_project/my_db.sql它是突出的文本,所以git会像其他任何文件一样选择更改后的文件。那么就gitaddmy_db.sqlgitcommit-m"theschemachanged"gitpushmy_projectgithubmaster您可以考虑以下几点:将转储文件放在github上或将其添加到存储库中意味