使用MySQL CLI将值从一个数据库复制到另一个数据库
我有两个数据库使用MySQL CLI将值从一个数据库复制到另一个数据库,mysql,Mysql,我有两个数据库fooDB和barDB,它们都有一个结构相同的表,名为options。我想将fooDB.options中一个单元格的值复制到barDB.options。我不能使用(非本地)outfiles,我有两个用户,都只能访问两个数据库中的一个。使用鼠标复制和粘贴不起作用,因为值太复杂 有什么想法吗?如何使用MySQL命令行客户端复制值?我考虑过使用变量,但您不能在同一CLI会话中更改用户。有什么想法吗?它应该是一个简单而快速的解决方案:当然我可以做一个mysqldump或者其他任何事情,但是
fooDB
和barDB
,它们都有一个结构相同的表,名为options
。我想将fooDB.options
中一个单元格的值复制到barDB.options
。我不能使用(非本地)outfiles,我有两个用户,都只能访问两个数据库中的一个。使用鼠标复制和粘贴不起作用,因为值太复杂
有什么想法吗?如何使用MySQL命令行客户端复制值?我考虑过使用变量,但您不能在同一CLI会话中更改用户。有什么想法吗?它应该是一个简单而快速的解决方案:当然我可以做一个mysqldump或者其他任何事情,但是这对于一个值来说太过复杂了(而且需要太多时间)。这个想法是生成SQL脚本,更新(或插入)所需的值。要生成SQL,请使用以下命令(username1-fooDB数据库的用户名): 然后,您将获得文件_name.sql,其中包含以下内容:
UPDATE barDB.options SET value = 'Your value here' WHERE id = 1;
然后只需运行以下脚本(username2-barDB数据库的用户名):
mysql-u username2-p
有些人使用:
-不要在结果中写入列名-N
-使用非tabular输出格式-s
-禁用字符转义-r
UPDATE barDB.options SET value = 'Your value here' WHERE id = 1;
mysql -u username2 -p < file_name.sql