草庐IT

MYSQLDUMP

全部标签

Mysqldump:备份时为插入创建列名

如何指示mysqldump在插入语句中使用列名进行备份?在我的情况下,我没有使用插入sql进行正常备份,导致LOCKTABLES`users`WRITE;/*!40000ALTERTABLE`users`INSERTINTO`users`VALUES(1结构。现在我继续从用户的架构中删除了一个列。在此之后,当我运行备份sql时,我收到列号不匹配错误。要解决这个问题,我该如何指示mysqldump也写入列名?这是我现在的做法mysqldump--host=${dbserver}--user=${dbusername}--password=${dbpassword}\--no-create

mysql - 使用 'mysqldump' 以 CSV 格式转储所有表格

我需要以CSV格式转储MySQL中的所有表。是否有使用mysqldump的命令just以CSV格式输出每个表的每一行? 最佳答案 首先,我可以给你一个表的答案:所有这些INTOOUTFILE或--tab=tmpfile(和-T/path/to/directory)答案的问题是它需要在与MySQL服务器相同的服务器上运行mysqldump,并具有这些访问权限。我的解决方案是简单地使用mysql(notmysqldump)和-B参数,内联使用-e选择语句,然后使用sed处理ASCII输出,最后使用包含标题字段行的CSV:例子:mysql

mysql - mysqldump 是否支持进度条?

有什么方法可以确定,当mysqldump运行时,备份完成了多少或剩余多少? 最佳答案 安装使用pv(它作为CentOS的yum软件包提供)http://www.ivarch.com/programs/pv.shtmlPV("PipeViewer")isatoolformonitoringtheprogressofdatathroughapipeline.Itcanbeinsertedintoanynormalpipelinebetweentwoprocessestogiveavisualindicationofhowquicklyd

crontab - mysqldump & gzip 命令使用 crontab 正确创建 MySQL 数据库的压缩文件

我在使crontab工作时遇到问题。我想自动备份MySQL数据库。设置:DebianGNU/Linux7.3(wheezy)MySQL服务器版本:5.5.33-0+wheezy1(Debian)directoriesuser、backup和backup2拥有755权限MySQLdb和Debian账户的用户名相同此命令在shell中起作用mysqldump-uuser-p[user_password][database_name]|gzip>dumpfilename.sql.gz当我使用crontab-e将它放在crontab中时**/usr/bin/mysqldump-uuser-pu

Mysqldump 只有具有某些前缀/Mysqldump 通配符的表?

我正在清理这个庞大而困惑的数据库。它包含500多个表,这是将MagentoEnterprise与Joomla结合到一个数据库中的结果。更糟糕的是,有一组70多个Joomla表根本没有使用。这些都以bak_为前缀。删除这些bak_表很容易,但我想先“bak”它们(看看我在那里做了什么?)。在我的脑海中,我可以想象这样一个命令:mysqldump-uusername-pmydatabasebak_*但这不起作用。最好的方法是什么?谢谢!编辑:是的,我可以明确列出要包含的70个表或要排除的~430个表,但如果可能的话,我正在寻找更好的方法。 最佳答案

mysql - mysqldump 转储完整模式所需的最小授权? (触发器不见了!!)

我有一个名为dump的MySQL用户,具有以下权限:GRANTUSAGEON*.*TO'dump'@'%'IDENTIFIEDBY...GRANTSELECT,LOCKTABLESON`mysql`.*TO'dump'@'%'GRANTSELECT,LOCKTABLESON`myschema`.*TO'dump'@'%'我想使用dump用户转储所有数据(包括触发器和过程)。我通过以下方式调用mysqldump:mysqldump-udump-p--routines--triggers--quote-names--opt\--add-drop-database--databasesmys

mysqldump - 限制来自 mysqldump 的记录数?

我正在尝试将大型数据库中的一小部分记录加载到测试数据库中。你如何告诉mysqldump只给你800万条记录中的n条记录?谢谢 最佳答案 正如skaffman所说,使用--where选项:mysqldump--opt--where="1limit1000000"database当然,这将为您提供每个表中的前一百万行。 关于mysqldump-限制来自mysqldump的记录数?,我们在StackOverflow上找到一个类似的问题: https://stacko

mysql - 如何从本地机器mysqldump远程数据库

我需要在远程服务器上做一个数据库的mysqldump,但是服务器没有安装mysqldump。我想使用我机器上的mysqldump连接到远程数据库并在我的机器上进行转储。我尝试创建一个ssh隧道然后进行转储,但这似乎不起作用。我试过了:ssh-f-L3310:remote.server:3306user@remote.server-N隧道创建成功。如果我这样做了telnetlocalhost3310我得到了一些显示正确的服务器mysql版本的简介。但是,执行以下操作似乎尝试在本地连接mysqldump-P3310-hlocalhost-umysql_user-pdatabase_name

mysql - 如何在没有密码提示的情况下执行 mysqldump?

我想知道在不提示输入密码的情况下执行数据库mysqldump的命令。原因:我想运行一个cron作业,它每天需要一次数据库的mysqldump。因此,我将无法在提示时输入密码。我该如何解决这个问题? 最佳答案 由于您使用的是Ubuntu,您只需在您的主目录中添加一个文件,它将禁用mysqldump密码提示。这是通过创建文件~/.my.cnf来完成的(权限需要为600)。将此添加到.my.cnf文件[mysqldump]user=mysqluserpassword=secret这使您可以作为需要密码的MySQL用户进行连接,而无需实际输

mysql - 在不锁定表的情况下运行 MySQLDump

我想将一个实时生产数据库复制到我的本地开发数据库中。有没有办法在不锁定生产数据库的情况下做到这一点?我目前正在使用:mysqldump-uroot--password=xxx-hxxxmy_db1|mysql-uroot--password=xxx-hlocalhostmy_db1但它会在运行时锁定每个表。 最佳答案 --lock-tables=false选项是否有效?根据manpage,如果你正在转储InnoDB表,你可以使用--single-transaction选项:--lock-tables,-lLockalltablesb