`
grzrt
  • 浏览: 188166 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CHANGE MASTER TO语法--MySql数据库

 
阅读更多

master_def:
MASTER_HOST = 'host_name'
| MASTER_USER = 'user_name'
| MASTER_PASSWORD = 'password'
| MASTER_PORT =port_num
| MASTER_CONNECT_RETRY =count
| MASTER_LOG_FILE = 'master_log_name'
| MASTER_LOG_POS =master_log_pos
| RELAY_LOG_FILE = 'relay_log_name'
| RELAY_LOG_POS =relay_log_pos
| MASTER_SSL = {0|1}
| MASTER_SSL_CA = 'ca_file_name'
| MASTER_SSL_CAPATH = 'ca_directory_name'
| MASTER_SSL_CERT = 'cert_file_name'
| MASTER_SSL_KEY = 'key_file_name'
| MASTER_SSL_CIPHER = 'cipher_list'

可以更改从属服务器用于与主服务器进行连接和通讯的参数。

MASTER_USER,MASTER_PASSWORD,MASTER_SSL,MASTER_SSL_CA,MASTER_SSL_CAPATH,MASTER_SSL_CERT,MASTER_SSL_KEY和MASTER_SSL_CIPHER用于向从属服务器提供有关如何与主服务器连接的信息。

即使对于在编译时没有SSL支持的从属服务器,SSL选项(MASTER_SSL,MASTER_SSL_CA,MASTER_SSL_CAPATH,MASTER_SSL_CERT,MASTER_SSL_KEY和MASTER_SSL_CIPHER)也可以被更改。它们被保存到master.info文件中,但是会被忽略,直到您使用一个SSL支持已启用的服务器。

如果您不指定一个给定的参数,则它会保持其原有的值。例外情况在后面的讨论中进行了说明。举例说明,如果用于连接到您的MySQL主服务器的 密码被更改了,您只需发布这些语句,就可以告知从属服务器新的密码:
mysql>STOP SLAVE; -- if replication was running
mysql>CHANGE MASTER TO MASTER_PASSWORD='new3cret';
mysql>START SLAVE; -- if you want to restart replication

没有必要指定没有改变的参数(主机、接口、用户等)。

MASTER_HOST和MASTER_PORT是主服务器主机和其TCP/IP接口的主机名(或IP地址)。注意,如果MASTER_HOST与localhost相等,那么,和MySQL的其它部分一样,接口可以被忽略(例如,如果可以使用Unix插槽文件)。

如果您指定了MASTER_HOST或MASTER_PORT,则从属服务器会假定主服务器与以前不一样(即使您指定的主机或接口值与当前值是一样的。)在此情况下,主服务器二进制日志的名称和位置的原有值不再适用,因此,如果您不指定语句中的MASTER_LOG_FILE和MASTER_LOG_POS,MASTER_LOG_FILE=''和MASTER_LOG_POS=4会被静默地添加。

在MASTER_LOG_FILE和MASTER_LOG_POS坐标点,从属服务器I/O线程在启动之后从主服务器读取。如果您只指定了其中一个,则从属服务器不能指定RELAY_LOG_FILE或RELAY_LOG_POS。如果MSATER_LOG_FILE和MASTER_LOG_POS都没有被指定,则从属服务器会使用在CHANGE MASTER被发布前的最后一个slave SQL thread坐标。当您只想改变要使用的 密码时,这可以确保复制的连续性。即使从属服务器SQL线程落后于从属服务器I/O线程,也可以确保复制的连续性。

CHANGE MASTER会删除所有的中继日志文件并启动一个新的日志,除非您指定了RELAY_LOG_FILE或RELAY_LOG_POS。在此情况下,中继日志被保持;relay_log_purge全局变量被静默地设置为0。

CHANGE MASTER TO可以更新master.info和relay-log.info文件的内容。

当您拥有主服务器快照并拥有日志和对应的偏移量时,CHANGE MASTER对于设置从属服务器是有用的。在把快照载入从属服务器之后,您可以在从属服务器上运行CHANGE MASTER TO MASTER_LOG_FILE='log_name_on_master', MASTER_LOG_POS=log_offset_on_master。

举例说明:
mysql>CHANGE MASTER TO
-> MASTER_HOST='master2.mycompany.com',
-> MASTER_USER='replication',
-> MASTER_PASSWORD='bigs3cret',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='master2-bin.001',
-> MASTER_LOG_POS=4,
-> MASTER_CONNECT_RETRY=10;

mysql>CHANGE MASTER TO
-> RELAY_LOG_FILE='slave-relay-bin.006',
-> RELAY_LOG_POS=4025;

第一个例子可以更改主服务器及其二进制日志坐标。当想要设置从属服务器来复制主服务器时使用。

第二个例子显示了较少被使用的一个操作。当从属服务器含有中继日志,并且您出于某种原因想要执行此日志时使用。要这么做时,不需要连接主服务器。您只需要使用CHANGE MASTER TO并启动SQL线程(START SLAVE SQL_THREAD)。

您甚至可以在一个用于独立非从属服务器的非复制型设置中使用第二种操作,在崩溃之后进行复原。假设您的服务器已崩溃,同时您已恢复了备份。您想要重新播放服务器自己的二进制日志(不是中继日志,而是正规的二进制文件),例如名为myhost-bin.*。首先,应在安全的地方制作这些二进制日志的备份,以防您没有完全遵守以下步骤,意外地让服务器清理了二进制文件。使用SET GLOBAL relay_log_purge=0,进一步增加安全性。然后启动不含--log-bin选项的服务器。使用--replicate-same-server-id,--relay-log=myhost-bin(让服务器相信,这些正规的二进制日志是中继日志)和--skip-slave-startoptions选项。当服务器启动后,发布以下语句:
mysql>CHANGE MASTER TO
-> RELAY_LOG_FILE='myhost-bin.153',
-> RELAY_LOG_POS=410,
-> MASTER_HOST='some_dummy_string';
mysql>START SLAVE SQL_THREAD;

服务器会读取并执行自己的二进制日志,完成崩溃复原。当复原完成后,运行STOP SLAVE,关闭服务器,删除master.info和relay-log.info,并使用原来的选项重新启动服务器。

要让服务器认为它是一个从属服务器,需要指定MASTER_HOST(甚至使用假值)。

分享到:
评论

相关推荐

    MySQL之数据库建立.doc

    在MySQL中,数据库是存储数据的基本单位,而创建和管理数据库是进行数据操作的重要环节。初学者在接触MySQL时,通常会从建立数据库开始。在这个过程中,了解和掌握相关的SQL语句至关重要。以下是对"MySQL建立数据库...

    lampbrother mysql高级教程笔记 超详细

    - 从服务器上配置 `CHANGE MASTER TO` 命令来指定复制源。 #### 四、MySQL 分区技术 MySQL 支持表的分区功能,能够提高查询性能,特别是在处理大数据集时非常有用。分区技术自 MySQL 5.1 版本开始支持。 **基本...

    SQL语句语法(最新)

    - **用于控制从服务器的SQL语句**:如`CHANGE MASTER TO`用于设置从服务器连接到主服务器的参数;`LOAD DATA FROM MASTER`用于从主服务器加载数据。 以上SQL语句语法是数据库管理和数据操作的核心,熟练掌握这些...

    mysql学习资料整理

    - 指定复制源(master): `change master to master_host='主服务器地址', master_user='用户名', master_password='密码', master_log_file='日志文件名', master_log_pos=日志位置;` 3. **启动复制**: 在从服务器...

    HeidiSQL-master

    HeidiSQL是一款流行的开源数据库管理工具,主要面向MySQL、MariaDB、PostgreSQL、SQLite和Oracle数据库。在这个“master”版本中,我们可能找到了源代码、文档或者其他开发资源。 HeidiSQL的核心功能包括: 1. **...

    mysql存储过程、函数,业务编写、启动、停止命令,linux环境下,新增用户,授权,binlog传输数据

    CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='log_file_name', MASTER_LOG_POS=log_position; START SLAVE; ``` 以上就是关于MySQL...

    mysql主从配置

    3. 使用`CHANGE MASTER TO`命令设置主库信息和复制起点: ```sql CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root', MASTER_PASSWORD='root', MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_...

    ansible-master.tar.gz

    5. **启动复制**:在从服务器上,执行初始化命令来开始复制过程,如在MySQL中使用`CHANGE MASTER TO`语句。 6. **监控与验证**:通过Ansible的`command`或`shell`模块运行检查命令,确保主从复制正常工作,例如检查...

    Chapter 13 SQL Statement Syntax.pdf

    - 如`CHANGE MASTER TO`用于指定复制过程中主服务器的相关信息。 2. **用于控制从服务器的SQL语句**: - 如`START SLAVE;`用于启动从服务器上的复制进程。 ### 准备SQL语句语法 这涉及到SQL语句的准备和执行机制...

    musql常用语法

    MySQL的主从复制涉及设置复制源(binlog_format, server_id等),配置从服务器的复制线程,以及启动复制过程(使用CHANGE MASTER TO语句)。 这些知识点对于任何想要深入理解MySQL的开发者来说都至关重要。掌握它们...

    Linux常见常用命令大全(包含nginx、mysql等相关操作命令)

    - **示例**: `mysql -u root -p` 登录MySQL数据库。 **48. `set global validate_password_length=4;`** - **功能**: 设置密码最小长度。 - **示例**: `set global validate_password_length=4;` 设置密码最小...

    simple-mysql-replication-tools:用于监视 mysql 从属实例并恢复它们的简单 perl 工具

    例如,当从库因网络问题或临时的服务器故障导致复制中断时,`simple-mysql-replication-tools` 可能会自动尝试重新启动 `CHANGE MASTER TO` 命令,设置正确的主库位置。此外,它可能还具有检查复制线程是否正在运行...

    2016全国计算机二级MYSQL考试题库(含答案)-.doc

    这些题目和答案主要涵盖的是微软的SQL Server 2005和MySQL数据库的相关知识,包括产品的开发商、数据库的分类、不同版本的SQL Server、安装需求、系统配置检查、身份验证模式、数据库启动与管理,以及MySQL中的基本...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    《mysql管理之道:性能调优、高可用与监控》由资深mysql专家撰写,以最新的mysql版本为基础,以构建高性能mysql服务器为核心,从故障诊断、表设计、sql优化、性能参数调优、mydumper逻辑、xtrabackup热备份与恢复、...

    70道MySQL面试题大全

    通过 `CHANGE MASTER TO` 设置主服务器信息,`START SLAVE` 启动复制进程来实现复制。 6. **数据类型**:MySQL 提供多种数据类型,如 INT(整型)、FLOAT(浮点型)、VARCHAR(可变长度字符串)、DATE/TIME(日期/...

    全国计算机二级MYSQL考试题库(含答案).pdf

    根据提供的文件信息,我们可以提炼出以下知识点: ...这些知识点覆盖了数据库安装、SQL语法、数据库操作以及数据库管理系统的特定细节。考生应熟悉这些知识点以准备和通过全国计算机二级MYSQL考试。

    [应用开发及迁移][客户端编程开发框架]Liquibase指南.pdf

    此外,它还具有跨数据库平台的能力,可以在不同的数据库系统上运行,如MySQL、Oracle、PostgreSQL等。 #### 二、Liquibase配置说明 本部分将详细介绍如何在Spring Boot项目中集成Liquibase,并配置相关的变更日志...

    韩顺平——玩转oracle教程笔记(转).doc

    与其他数据库如MySQL、SQL Server相比,Oracle提供了更为复杂和强大的企业级数据管理和处理能力,尤其是在高可用性、安全性以及大数据处理方面。 ### Oracle安装与默认用户 Oracle的安装过程中,会自动生成两个...

Global site tag (gtag.js) - Google Analytics