wbcopytables是一个包含在MySQL工作台中的命令行实用程序,它允许您将表数据从受支持的源数据库服务器复制到MySQL。MySQL工作台迁移向导用于在模式迁移并在目标MySQL服务器中创建后复制数据。
wbcopytables可以使用ODBC、Python DBAPI或本机MySQL客户端库连接到源数据库。
副本执行选择
源数据库中的语句然后插
将检索到的行插入到目标MySQL服务器。
表6.2文件位置(默认)
操作系统 | 位置 |
---|---|
Linux | /usr/bin/wbcopytables |
苹果系统 | /应用程序/ MySQLWorkbench.app /内容/ MacOS / wbcopytables |
视窗 | C:\ Program Files \ MySQL \ MySQL Workbench 8.0 \ wbcopytables.exe |
源连接和目标连接的选项参数是:
——odbc源=
ODBC_CONNECTION_STRING.
: ODBC连接字符串使用标准ODBC语法。您还可以使用ODBC数据源名称(DSN)。--mysql源=
mysql_connection_string.
:用于MySQL源(当执行MySQL到MySQL迁移或复制时)。它使用了与MySQL实用程序相同的语法:TCP / IP连接:
用户名(密码):
@主持人:港口
对于本地套接字连接:
用户名(密码):
@ ::socket_path
——source-password
:传递数据源的连接密码。--target =.
mysql_connection_string.
:指定目标连接。- 偏相 - 来自Stdin
:通过STDIN传递密码。源密码和目标密码必须用制表符分隔。
您可以使用来自源RDBMS的特定于ODBC的数据源选项来指定每次获取源数据的行数选择
陈述。
支持SSH隧道复制数据的SSH隧道的源和目标连接的选项参数是:
——source-ssh-port =
ssh端口
——source-ssh-host =
ssh主机
--source-ssh-user =
SSH用户
——source-ssh-password =
SSH密码
——target-ssh-port =
ssh端口
——target-ssh-host =
ssh主机
——target-ssh-user =
SSH用户
--target-ssh-password =
SSH密码
可以在用于复制操作的命令行中指定一个或多个表。有两种副本类型:
完整表副本:
- 桌子
范围副本:
——表范围
两种表复制类型都需要一组通用的参数:
源码架构:表所属的模式或目录。如果需要引用,则必须使用源RDBMS的语法进行引用。例如,SQL Server使用(square_brackets)。
源表:要复制的表。如果源RDBMS除了使用目录之外还使用模式名,则必须在这里指定模式和表,并用点分隔。例如,[dbo]。[mytable]。
目标模式: MySQL模式的名称。如果需要引用,则必须使用MySQL的反引号语法。例如,
”
Sakila.”
。目标表:MySQL表的名称。
选择表达式:要访问的字段列表
选择
。这将逐字插入到源文件中选择
陈述。谨慎注意,因为这个表达式是直接复制到源代码中的
选择
陈述。
对于select表达式,如果源表和目标表以相同的顺序具有相同的字段,并且使用兼容的类型,则可以简单地传递*
这里,它将构建一个类似于“SELECT * FROM [dbo].[mytable]“。如果没有,您可以根据您指定字段选择
语句,用逗号(,)分隔,并使用特定于源RDBMS的适当转义/引用。还可以指定源RDBMS支持的类型转换和/或数据转换。例如:
(client_id],[的名字],[地址],astext([位置])
因为每个选项都必须被解释为单个选项wbcopytables命令,必须在必要时执行操作系统shell特定报价。通常,用“单个”或“双”引号引用您的参数值足够。这是除了您使用的任何数据库的数据库之外。
全表副本
这个参数执行一个full选择
在源表中获取记录,然后将它们插入目标表中。
不需要其他参数。
的- 桌子
语法如下:
- 桌子source_schema source_table target_schema target_table select_expression
范围复制
这个论点执行一个选择
在源表上复制指定范围。该表必须有一个数字独特而不是null.
或者首要的关键
用来创建在哪里
表达范围。
的——表范围
语法如下:
——表范围Source_Schema Source_Table Target_Schema Target_Table Select_Expression Source_Key Range_Start Range_End
生成的表达式为:
key_column> =range_start和key_column<=Range_end.
如果您指定-1对于Range_End,那么表达式是:
key_column> =range_start
- 依次计算
=数量
:如果要复制多个表,可以使用此选项将表划分多个线程。没有支持在许多线程上划分单个表。——仅计算
:只执行一个COUNT (*)
的选择
生成的- 桌子
所使用的选项。在这种情况下,可以省略目标模式和表。- 符号目标
:对复制的每个目标表执行TRUNCATE TABLE命令。