我有两个运行相同模式的MySQL实例.一个是在云中; 一个在我当地的盒子里.本地盒版本在其主表中需要几个测试行.
实际上,我想对生产表上的单个记录执行类似mysqldump或mysqlhotcopy的操作,然后将该记录"还原"到本地实例上的同一个表中.我不想复制整个表格.如果本地表上有行,我希望它们保持独立.
我对复制行改变的PK很好.我不关心外键,如果有的话.
这个表很大而且非常复杂,我使用select语句打印记录然后将其格式化为插入是非常重要的.
我有什么选择?
Bil*_*win 10
如果您已经熟悉mysqldump,我会提醒您mysqldump有一个--where选项,因此如果您为此编写条件,则可以获得单行:
mysqldump databasename tablename --where "id=12345" --no-create-info --skip-add-locks --host=db1 | \
mysql --host=db2
Run Code Online (Sandbox Code Playgroud)
您还可以使用SELECT ... INTO OUTFILE将您想要的任何查询的结果转储到平面文件中,甚至是单行查询.然后LOAD DATA INFILE在另一个实例上导入该文件.
您也可以用您选择的语言编写一个简单的脚本.连接到两个实例.从源实例中选择一行,将其保存在脚本中的变量中.然后形成一个INSERT命令来对目标实例执行.这可能不是移动大量数据的最有效方法,但对于单行,它可能没问题.