首先参考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主从配置的过程的更多相关文章

  1. Mysql主从配置+读写分离

    Mysql主从配置+读写分离     MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...

  2. MySql主从配置实践及其优势浅谈

    MySql主从配置实践及其优势浅谈 1.增加两个MySQL,我将C:\xampp\mysql下的MYSQL复制了一份,放到D:\Mysql2\Mysql5.1 修改my.ini(linux下应该是my ...

  3. mysql主从配置和galera集群

    mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...

  4. centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课

    centos  MySQL主从配置 ntsysv   chkconfig  setup命令  配置MySQL 主从 子shell  MySQL备份  kill命令  pid文件  discuz!论坛数 ...

  5. 解读mysql主从配置及其原理分析(Master-Slave)

    在windows下配置的,后面会在Linux下配置进行测试,需要配置mysql数据库同步的朋友可以参考下. 1.在主数据库服务器为从服务器添加一个拥有权限访问主库的用户:GRANT REPLICATI ...

  6. MySQL主从配置详解

    一.mysql主从原理 1. 基本介绍 MySQL 内建的复制功能是构建大型,高性能应用程序的基础.将 MySQL 的 数亿分布到到多个系统上去,这种分步的机制,是通过将 MySQL 的某一台主机的数 ...

  7. mysql主从配置及其读写分离

    mysql主从配置意思就是一个主mysql服务器,一个从mysql服务器,一共要用到两台服务器.主服务器新增一个账号专门让从服务器来访问同步工作,主从配置完成后,主服务器主要就是新增和update操作 ...

  8. mysql主从配置详解(图文)

    最近工作不是很忙,把以前整理的mysql数据库的主从配置过程记录一下,有不足之处,请各位多多纠正指教 #环境配置#master IP:192.168.46.137 slave IP:192.168.4 ...

  9. mysql主从配置实现一主一从读写分离

    主从介绍Mysql主从又叫Replication.AB复制.简单讲就是A与B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,实现数据实时同步mysql主从是基于binlog,主上需开启bin ...

随机推荐

  1. Git生成SSH密钥

    git config --global user.name "yangjianliang"配置用户名 git config --global user.email "52 ...

  2. Python中的内建函数(Built_in Funtions)

    前言 在Python官方文档的标准库章节中,第一节是简介,第二节就是Built_in Functions,可见内建函数是Python标准库的重要组成部分,而有很多内建函数我们平时却很少用到或根本就不知 ...

  3. Ubuntu常用shell命令

    目录 ls cd mkdir mv cp scp rm df du chmod chown chgrp head tail screen apt-get Ubuntu常用shell命令 Ubuntu作 ...

  4. 利用Tensorflow进行自然语言处理(NLP)系列之一Word2Vec

    同步笔者CSDN博客(https://blog.csdn.net/qq_37608890/article/details/81513882). 一.概述 本文将要讨论NLP的一个重要话题:Word2V ...

  5. 使用appcmd命令创建iis站点及应用程序池

    参考文章:iis7 appcmd的基础命令及简单用法 验证环境:Windows 7    IIS7 AppCmd.exe工具所在目录 C:\windows\sytstem32\inetsrv\目录下, ...

  6. linux awk,sort,uniq,wc,cut命令详解

    1.awk awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 $ 表示当前行 $ 表示第一列 NF 表示一共有多少列 $NF 表示最 ...

  7. 团队展示(I know)

    一.队员姓名与学号 姓名 学号 组长 陈家权 031502107 赖晓连 031502118 ★ 雷晶 031502119 林巧娜 031502125 庄加鑫 031502147 二.队名 I kno ...

  8. java程序连接MySQL数据库

    驱动程序:mysql-connector-java-5.1.7-bin.jar. 程序示例如下: package commonProject; import java.sql.Connection; ...

  9. zabbix简介

    (一)监控系统 初探 前言: 对于监控系统而言,首先必须搞清楚需要监控什么? (1)硬件设备和软件设备:服务器,路由器,交换机,I/O存储系统,操作系统,网络,各种应用程序 (2)各种指标:数据库宕机 ...

  10. QMultiMap使用

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QMultiMap使用     本文地址:http://techieliang.com/201 ...