我正在清理这个庞大而困惑的数据库。它包含500多个表,这是将MagentoEnterprise与Joomla结合到一个数据库中的结果。更糟糕的是,有一组70多个Joomla表根本没有使用。这些都以bak_为前缀。删除这些bak_表很容易,但我想先“bak”它们(看看我在那里做了什么?)。在我的脑海中,我可以想象这样一个命令:mysqldump-uusername-pmydatabasebak_*但这不起作用。最好的方法是什么?谢谢!编辑:是的,我可以明确列出要包含的70个表或要排除的~430个表,但如果可能的话,我正在寻找更好的方法。 最佳答案
我有一个名为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只给你800万条记录中的n条记录?谢谢 最佳答案 正如skaffman所说,使用--where选项:mysqldump--opt--where="1limit1000000"database当然,这将为您提供每个表中的前一百万行。 关于mysqldump-限制来自mysqldump的记录数?,我们在StackOverflow上找到一个类似的问题: https://stacko
我需要在远程服务器上做一个数据库的mysqldump,但是服务器没有安装mysqldump。我想使用我机器上的mysqldump连接到远程数据库并在我的机器上进行转储。我尝试创建一个ssh隧道然后进行转储,但这似乎不起作用。我试过了:ssh-f-L3310:remote.server:3306user@remote.server-N隧道创建成功。如果我这样做了telnetlocalhost3310我得到了一些显示正确的服务器mysql版本的简介。但是,执行以下操作似乎尝试在本地连接mysqldump-P3310-hlocalhost-umysql_user-pdatabase_name
我想知道在不提示输入密码的情况下执行数据库mysqldump的命令。原因:我想运行一个cron作业,它每天需要一次数据库的mysqldump。因此,我将无法在提示时输入密码。我该如何解决这个问题? 最佳答案 由于您使用的是Ubuntu,您只需在您的主目录中添加一个文件,它将禁用mysqldump密码提示。这是通过创建文件~/.my.cnf来完成的(权限需要为600)。将此添加到.my.cnf文件[mysqldump]user=mysqluserpassword=secret这使您可以作为需要密码的MySQL用户进行连接,而无需实际输
我想将一个实时生产数据库复制到我的本地开发数据库中。有没有办法在不锁定生产数据库的情况下做到这一点?我目前正在使用:mysqldump-uroot--password=xxx-hxxxmy_db1|mysql-uroot--password=xxx-hlocalhostmy_db1但它会在运行时锁定每个表。 最佳答案 --lock-tables=false选项是否有效?根据manpage,如果你正在转储InnoDB表,你可以使用--single-transaction选项:--lock-tables,-lLockalltablesb
如果没有对服务器的本地访问,有没有办法在不使用mysqldump的情况下将MySQL数据库(有内容和无内容)复制/克隆到另一个数据库中?我目前使用的是MySQL4.0。 最佳答案 我可以看到你说你不想使用mysqldump,但是我在寻找类似的解决方案时到达了这个页面,其他人也可能会找到它。考虑到这一点,下面是一种从Windows服务器的命令行复制数据库的简单方法:使用MySQLAdmin或您的首选方法创建目标数据库。在此示例中,db2是目标数据库,源数据库db1将被复制到其中。在命令行中执行以下语句:mysqldump-h[服务器]
我获得了一个MySQL数据库文件,我需要将其还原为我的WindowsServer2008机器上的数据库。我尝试使用MySQLAdministrator,但出现以下错误:Theselectedfilewasgeneratedbymysqldumpandcannotberestoredbythisapplication.我如何让它工作? 最佳答案 如果您要恢复的数据库尚不存在,则需要先创建它。在命令行中,如果您位于包含转储文件的同一目录中,请使用以下命令(进行适当的替换):C:\>mysql-uroot-pmysql>createdat
有没有办法通过mysqldump命令限制某些表?例如,我会使用以下语法转储onlytable1和table2:mysqldump-uusername-pdatabasetable1table2>database.sql但是有没有类似的方法来转储所有的表除了table1和table2?我在mysqldump文档中没有找到任何东西,那么暴力(指定所有表名)是唯一的方法吗? 最佳答案 您可以使用--ignore-table选项。所以你可以这样做mysqldump-uUSERNAME-pPASSWORDDATABASE--ignore-ta
是否可以在没有MySQL本身的macOS上只安装mysqldump。我正在通过Docker使用MySQL数据库,但无法通过MySQLWorkbench从本地计算机转储数据库。/Applications/MySQLWorkbench.app/Contents/MacOS/mysqldumpisversion5.7.17,buttheMySQLServertobedumpedhasversion5.7.20.您对如何解决这个问题并能够从我的本地计算机进行转储有任何建议。 最佳答案 Brew现在也有mysql-client包,因此您无需安