mysql主从配置的过程
首先参考MySQL5.5官方手册 以下章节:
6.4节如何设置复制
13.6.1节 用于控制主服务器的SQL语句
13.6.2节 用于控制从服务器的SQL语句
6.8节 复制启动选项
6.5节 不同MySQL版本之间的复制兼容性
注释:该程序和后面章节所示的复制SQL语句需要SUPER权限
下面开始设置主从复制:
1在主服务器上创建复制账号
(mysql > GRANT REPLICATION SLAVE ON *.* TO '复制账号名'@'复制账号域' IDENTIFIED BY '密码'; )
mysql > GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.%' IDENTIFIED BY '123456';
2 配置主服务器
确保主服务器主机上my.cnf文件的[mysqld]部分包括一个log-bin选项。该部分还应有一个server- id=Master_id选项,其中master_id必须为1到232–1之间的一个正整数值。
例如:
[mysqld]
log-bin=mysql-bin //二进制所有文件的基本名
log-bin-index = master-bin.index //二进制索引文件的文件名
server-id=1 //唯一服务器ID
如果没有提供那些选项,应添加它们并重启服务器。
3 配置从服务器
slave_id值同Master_id值一样,必须为1到232–1之间的一个正整数值。并且,从服务器的ID必须与主服务器 的ID不相同。
可以认为server-id值类似于IP地址:这些ID值能唯一识别复制服务器群集中的每个服务器实例。
[mysqld]
server-id =2
replicate-wild-ignore-table =mysql.%
replicate-wild-ignore-table =test.%
replicate-wild-ignore-table =log.%
replicate-wild-ignore-table =information_schema.%
replicate-wild-ignore-table =performance_schema.%
下面列出了控制复制的启动选项:
(第1次作为复制从服务器启动服务器时,从my.cnf文件读取并使用选项。服务器然后记录master.info文件中的 值。下次启动服务器时,它只从服务器的master.info文件读取主服务器主机值并忽略选项文件中的值。如果你修改my.cnf文件为some_other_host指定其它主服务器主机,更改仍然不会生效。你应使用CHANGE MASTER TO。)
--log-slave-updates
该选项告诉从服务器将其SQL线程执行 的更新记入到从服务器自己的二进制日志,
为了使该选项生效,还必须用--logs-bin选项启动从服务器以启用二进制日志。
--log-warnings
让从服务器向错误日志输出更详细的关于其执行操作的消息。 该选项默认启用。
要想禁用它,使用--skip-logs-warnings。
--master-connect-retry=seconds
在主服务器宕机或连接丢失的情况下,从服务器线程重新尝试连接主服务器之前睡眠的秒数。
--master-host=host
主复制服务器的主机名或IP地址。 (如果主服务器.info文件中的值可以读取则优先使用。)
--master-info-file=file_name
从服务器用于记录主服务器的相关信息使用的文件名。默认名为数据目录中的mysql.info
--master-password=password
连接主服务器时从服务器线程用于鉴定的账户的密码。(如果主服务器.info文件中的值可以读取则优先使用。)
--master-port=port_number
主服务器正帧听的TCP/IP端口号。如果主服务器.info文件中的值可以读取则优先使用。
--master-ssl、--master-ssl-ca=file_name、--master-ssl-capath=directory_name、--master-ssl-cert=file_name、--master-ssl-cipher=cipher_list、--master-ssl-key=file_name
这些选项用于使用SSL设置与主服务器的安全复制连接。它们的含义与5.8.7.6节,“SSL命令行选项”中描述的相 应—ssl、--ssl-ca、--ssl-capath、--ssl-cert、--ssl-cipher、--ssl-key选项相同。如果主服务器.info文件中的值可 以读取则优先使用。
--master-user=username
连接主服务器时从服务器线程用于鉴定的账户的用户名。该账户必须具有REPLICATION SLAVE权限。如果主服务器.info文件中的值可以读取则优先使用。
--max-relay-logs-size=size
自动循环中继日志。参见5.3.3节,“服务器系统变量”。
--read-only
该选项让从服务器只允许来自从服务器线程或具有SUPER 权限的用户的更新。可以确保从服务器不接受来自客 户的更新。
--relay-log=file_name
中继日志名。默认名为host_name-relay-bin.nnnnnn,
--relay-log-index=file_name
中继日志索引文件使用的位置和名称。默认名为host_name-relay-bin.index
--relay-log-info-file=file_name
从服务器用于记录中继日志相关信息的文件名。默认名为数据目录中的relay-log.info
--relay-log-purge={0|1}
禁用或启用不再需要中继日志时是否自动清空它们。
--relay-log-space-limit=size
限制所有中继日志在从服务器上所占用空间的上限(0值表示“无限制”)。
--replicate-do-db=db_name
告诉从服务器限制默认数据库(由USE所选择)为db_name的语句的复制。
--replicate-do-table=db_name.tbl_name
告诉从服务器线程限制对指定表的复制。
--replicate-ignore-db=db_name
告诉从服务器不要复制默认数据库(由USE所选择)为db_name的语句。要想忽略多个数据库,应多次使用该选 项,每个数据库使用一次。
--replicate-ignore-table=db_name.tbl_name
告诉从服务器线程不要复制更新指定表的任何语句( 即使该语句可能更新其它的表) 。要想忽略多个表,应多次使用该选项,每个表使用一次。
--replicate-wild-do-table=db_name.tbl_name
告诉从服务器线程限制复制更新的表匹配指定的数据库和表名模式的语句。
--replicate-wild-ignore-table=db_name.tbl_name
告诉从服务器线程不要复制表匹配给出的通配符模式的语句。
--replicate-rewrite-db=from_name->to_name
告诉从服务器如果默认数据库(由USE所选择)为主服务器上的from_name,则翻译为to_name。
--replicate-same-server-id
将用于从服务器上。通常可以默认设置为0以防止循环复制中的无限循环。
--report-host=slave_name
从服务器注册过程中报告给主服务器的主机名或IP地址。
--report-port=slave_port
连接从服务器的TCP/IP端口号,从服务器注册过程中报告给主服务器。
--skip-slave-start
告诉从服务器当服务器启动时不启动从服务器线程。使用START SLAVE语句在以后启动线程。
--slave_compressed_protocol={0|1}
如果该选项设置为 1,如果从服务器和主服务器均支持,使用压缩从服务器/主服务器协议。
--slave-load-tmpdir=file_name
从服务器创建临时文件的目录名。
--slave-net-timeout=seconds
放弃读之前从主服务器等候更多数据的秒数,考虑到连接中断和尝试重新连接。
--slave-skip-errors=[err_code1,err_code2,... | all]
通常情况,当出现错误时复制停止,这样给你一个机会手动解决数据中的不一致性问题。
配置后 重新启动从服务器
如果前面已经复制了,用--skip-slave-start选项启动从服务器,以便它不立即尝试连接主服务器。你也可能想要用--logs-warnings选项启动从服务器(默认设置启用),以便在错误日志中显示更多的问题 相关的信息(例如,网络或连接问题)。
5 如果使用mysqldump备份主服务器的数据,将转储文件装载到从服务器
6 连接主从服务器
CHANGE MASTER TO 语法
CHANGE MASTER TO master_def [, master_def] ...
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'
可以更改从属服务器用于与主服务器进行连接和通讯的参数。
执行命令,开启从服务器
mysql> CHANGE MASTER TO
MASTER_HOST = '192.168.0.60',
MASTER_PORT =3306,
MASTER_USER = 'c_repl',
MASTER_PASSWORD = '123456',
MASTER_LOG_FILE = 'mysql-bin.000001',
MASTER_LOG_POS =4;
mysql> START SLAVE;
额外注意:
master-host=192.168.8.111
master-user=backup
master-password=backup
master-port=3306
master-connect-retry=60
这些参数 mysql5.5已经废弃了
必须在slave上用change master to 来设置slave
mysql主从配置的过程的更多相关文章
- Mysql主从配置+读写分离
Mysql主从配置+读写分离 MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...
- MySql主从配置实践及其优势浅谈
MySql主从配置实践及其优势浅谈 1.增加两个MySQL,我将C:\xampp\mysql下的MYSQL复制了一份,放到D:\Mysql2\Mysql5.1 修改my.ini(linux下应该是my ...
- mysql主从配置和galera集群
mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...
- centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课
centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数 ...
- 解读mysql主从配置及其原理分析(Master-Slave)
在windows下配置的,后面会在Linux下配置进行测试,需要配置mysql数据库同步的朋友可以参考下. 1.在主数据库服务器为从服务器添加一个拥有权限访问主库的用户:GRANT REPLICATI ...
- MySQL主从配置详解
一.mysql主从原理 1. 基本介绍 MySQL 内建的复制功能是构建大型,高性能应用程序的基础.将 MySQL 的 数亿分布到到多个系统上去,这种分步的机制,是通过将 MySQL 的某一台主机的数 ...
- mysql主从配置及其读写分离
mysql主从配置意思就是一个主mysql服务器,一个从mysql服务器,一共要用到两台服务器.主服务器新增一个账号专门让从服务器来访问同步工作,主从配置完成后,主服务器主要就是新增和update操作 ...
- mysql主从配置详解(图文)
最近工作不是很忙,把以前整理的mysql数据库的主从配置过程记录一下,有不足之处,请各位多多纠正指教 #环境配置#master IP:192.168.46.137 slave IP:192.168.4 ...
- mysql主从配置实现一主一从读写分离
主从介绍Mysql主从又叫Replication.AB复制.简单讲就是A与B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,实现数据实时同步mysql主从是基于binlog,主上需开启bin ...
随机推荐
- JavaWeb(十三)——使用Session防止表单重复提交
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...
- java基础学习总结--开篇
春去秋来,转眼间,参加工作快2年了.本来应该是3年,然在毕业的第一年,有试着从事过其他行业.最终结果是失败了.2016年又回来从事软件开发,转眼即将2年,在这期间有许多收获,当然也有彷徨迷茫的时候,人 ...
- 套接口socket编程(Client/Server编程实例)
基本概念 套接口也就是网络中的ID.网络通信,归根到底还是进程间通信(不同计算机上的进程间的通信).在网络中,每一个节点(计算机或路由器)都有一个网络地址,也就是IP地址. IP地址:在网络中唯一标识 ...
- C++ 名字空间namespace的使用
A namespace is a scope.C++ provides namespaces to prevent name conflicts.A namespace is a mechanism ...
- CF刷刷水题找自信1
CF 1108A Two distinct points 题目意思:给你两个线段的起点和终点,让你给出两个不同的点,这两点分别处于两个不同的线段之中.解题思路:题目说如果存在多种可能的点,随意一组答案 ...
- IT小小鸟 读书笔记
讲真的,整本书我并没有看完,翻阅了一下,然后小小的借鉴了一下! 首先设计你自己的进度条 进度条的设计是一个很多人都知道的故事:同样的耗时,如果不给任何进度提示,只是在完成之后才弹出一个完成消息,中间没 ...
- VS2013安装及单元测试
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZ0AAAIlCAIAAACBzLJwAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAE ...
- C++ Primer Plus学习:第十三章
第十三章 类继承 继承的基本概念 类继承是指从已有的类派生出新的类.例: 表 0-1 player.h class player { private: string firstname; string ...
- 将 Spring 和 Hibernate 与 WebSphere Application Server 一起使用
本文摘要 如果您考虑将 Spring 或 Hibernate 与 IBM® WebSphere® Application Server 一起使用,则本文向您阐述了如何配置这些框架,以适用于 WebSp ...
- Markdown语法实践
Markdown语法实践 Markdown基本语法 1.标题 # 一级标题 ## 二级标题 ### 三级标题 eg: 一级标题 二级标题 三级标题 2.链接 标准: [Title](URL) 实例: ...