介绍无损复制之前,首先介绍一下半同步复制
半同步复制:
无损复制属于半同步复制的一种。
一、半同步复制介绍
1,两个插件实现半同步复制功能。主库有一个插件,从库有一个插件。
2,系统变量控制插件特性。几个列子
参数:
1)rpl_semi_sync_master_enabled
控制是否在主库上启用半同步复制。要启用或禁用插件,请分别将此变量设置为1或0。默认值是0(关闭)。
2)rpl_semi_sync_master_timeout
一个以毫秒为单位的值,用于控制主服务器等待来自从服务器的确认提交并恢复到异步复制的时间,超过这个值就是超时。默认值是10000(10秒)。超时之后,就从半同步复制,返回到异步复制。
3)rpl_semi_sync_slave_enabled
作用和参数rpl_semi_sync_master_enabled相似,但是控制的是从库的插件。
3,启用半同步复制监视的状态变量。一些例子:
参数:
1)Rpl_semi_sync_master_clients
半同步从库的数量。
2)Rpl_semi_sync_master_status
当前是否在主服务器上运行半同步复制。如果插件已启用并且未提交确认,则值为1。如果插件未启用,或者由于提交确认超时,主服务器已回退到异步复制,则为0。
3)Rpl_semi_sync_master_yes_tx
从库成功确认的提交数量。
4)Rpl_semi_sync_master_no_tx
从库未成功确认的提交数量。
5)Rpl_semi_sync_slave_status
当前是否在从站上运行半同步复制。如果插件已启用且从属I/O线程正在运行,则为1,否则为0。
二、半同步复制安装和配置
半同步复制是使用插件实现的,因此必须将插件安装到数据库中以使其可用。插件安装完成后,通过与其关联的系统变量来控制插件。直有关联的插件安装完成后,这些系统变量才可用。
要使用半同步复制,必须满足以下要求:
1)必须安装MySQL 5.5或更高版本。
2)安装插件的功能需要一个支持动态加载的MySQL服务器。要验证这一点,请检查have_dynamic_loading系统变量的值是否为是的。
3)复制必须已经在工作。
4)不能有多个复制通道配置。半同步复制仅与默认复制通道兼容。
要设置半同步复制,请使用以下说明。
这里提到的安装插件,集全球,停止奴隶和奴隶开始语句需要超权限。
MySQL发布包括主端和从端的半同步复制插件文件。
要被主库或从库使用,相应的插件库文件必须位于MySQL的插件目录(由plugin_dir系统变量命名的目录)中。如有必要,请在服务器启动时设置plugin_dir的值,以告知服务器插件目录位置。
插件库文件基名是semisync_master和semisync_slave。每个平台的文件名后缀都不相同(例如,用于Unix和类Unix系统的,所以,用于窗户的。dll)
主插件库文件必须存在于主服务器的插件目录中。从插件库文件必须存在于每个从服务器的插件目录中
要加载插件,请在主站和每个要半同步的从站上使用安装插件语句(根据需要为您的平台调整。所以后缀)。
MySQL发布包括主端和从端的半同步复制插件文件。
要被主库或从库使用,相应的插件库文件必须位于MySQL的插件目录(由plugin_dir系统变量命名的目录)中。如有必要,请在服务器启动时设置plugin_dir的值,以告知服务器插件目录位置。
插件库文件基名是semisync_master和semisync_slave。每个平台的文件名后缀都不相同(例如,用于Unix和类Unix系统的,所以,用于窗户的。dll)
主插件库文件必须存在于主服务器的插件目录中。从插件库文件必须存在于每个从服务器的插件目录中
要加载插件,请在主站和每个要半同步的从站上使用安装插件语句(根据需要为您的平台调整。所以后缀)。
libimf2,查看安装了哪些插件
要查看哪些插件已安装,请使用显示插件语句,或者查询INFORMATION_SCHEMA。插件表。
例如:
mysql>选择PLUGIN_NAME PLUGIN_STATUS
,,,,,从INFORMATION_SCHEMA。插件
,,,,,在PLUGIN_NAME像“%半%”;
在安装半同步复制插件之后,默认情况下它是禁用的。主库和从库都必须启用插件才能启用半同步复制。如果只启用了一方,复制将是异步的。
要控制是否启用已安装的插件,请设置适当的系统变量。可以在运行时使用集全球或在服务器启动时在命令行或选项文件中设置这些变量。
半同步复制:
无损复制属于半同步复制的一种。
一、半同步复制介绍
1,两个插件实现半同步复制功能。主库有一个插件,从库有一个插件。
2,系统变量控制插件特性。几个列子
参数:
1)rpl_semi_sync_master_enabled
控制是否在主库上启用半同步复制。要启用或禁用插件,请分别将此变量设置为1或0。默认值是0(关闭)。
2)rpl_semi_sync_master_timeout
一个以毫秒为单位的值,用于控制主服务器等待来自从服务器的确认提交并恢复到异步复制的时间,超过这个值就是超时。默认值是10000(10秒)。超时之后,就从半同步复制,返回到异步复制。
3)rpl_semi_sync_slave_enabled
作用和参数rpl_semi_sync_master_enabled相似,但是控制的是从库的插件。
3,启用半同步复制监视的状态变量。一些例子:
参数:
1)Rpl_semi_sync_master_clients
半同步从库的数量。
2)Rpl_semi_sync_master_status
当前是否在主服务器上运行半同步复制。如果插件已启用并且未提交确认,则值为1。如果插件未启用,或者由于提交确认超时,主服务器已回退到异步复制,则为0。
3)Rpl_semi_sync_master_yes_tx
从库成功确认的提交数量。
4)Rpl_semi_sync_master_no_tx
从库未成功确认的提交数量。
5)Rpl_semi_sync_slave_status
当前是否在从站上运行半同步复制。如果插件已启用且从属I/O线程正在运行,则为1,否则为0。
二、半同步复制安装和配置
半同步复制是使用插件实现的,因此必须将插件安装到数据库中以使其可用。插件安装完成后,通过与其关联的系统变量来控制插件。直有关联的插件安装完成后,这些系统变量才可用。
要使用半同步复制,必须满足以下要求:
1)必须安装MySQL 5.5或更高版本。
2)安装插件的功能需要一个支持动态加载的MySQL服务器。要验证这一点,请检查have_dynamic_loading系统变量的值是否为是的。
3)复制必须已经在工作。
4)不能有多个复制通道配置。半同步复制仅与默认复制通道兼容。
要设置半同步复制,请使用以下说明。
这里提到的安装插件,集全球,停止奴隶和奴隶开始语句需要超权限。
MySQL发布包括主端和从端的半同步复制插件文件。
要被主库或从库使用,相应的插件库文件必须位于MySQL的插件目录(由plugin_dir系统变量命名的目录)中。如有必要,请在服务器启动时设置plugin_dir的值,以告知服务器插件目录位置。
插件库文件基名是semisync_master和semisync_slave。每个平台的文件名后缀都不相同(例如,用于Unix和类Unix系统的,所以,用于窗户的。dll)
主插件库文件必须存在于主服务器的插件目录中。从插件库文件必须存在于每个从服务器的插件目录中
要加载插件,请在主站和每个要半同步的从站上使用安装插件语句(根据需要为您的平台调整。所以后缀)。
MySQL发布包括主端和从端的半同步复制插件文件。
要被主库或从库使用,相应的插件库文件必须位于MySQL的插件目录(由plugin_dir系统变量命名的目录)中。如有必要,请在服务器启动时设置plugin_dir的值,以告知服务器插件目录位置。
插件库文件基名是semisync_master和semisync_slave。每个平台的文件名后缀都不相同(例如,用于Unix和类Unix系统的,所以,用于窗户的。dll)
主插件库文件必须存在于主服务器的插件目录中。从插件库文件必须存在于每个从服务器的插件目录中
要加载插件,请在主站和每个要半同步的从站上使用安装插件语句(根据需要为您的平台调整。所以后缀)。
libimf2,查看安装了哪些插件
要查看哪些插件已安装,请使用显示插件语句,或者查询INFORMATION_SCHEMA。插件表。
例如:
mysql>选择PLUGIN_NAME PLUGIN_STATUS
,,,,,从INFORMATION_SCHEMA。插件
,,,,,在PLUGIN_NAME像“%半%”;
在安装半同步复制插件之后,默认情况下它是禁用的。主库和从库都必须启用插件才能启用半同步复制。如果只启用了一方,复制将是异步的。
要控制是否启用已安装的插件,请设置适当的系统变量。可以在运行时使用集全球或在服务器启动时在命令行或选项文件中设置这些变量。