首先参考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. python2 - 列表

    列表 a = [1,2,3,4,5,6,7] a[0:4:1]//正向索引 a[-1:-2:-1]//反向索引 列表添加 a = [1, 2] b = [3, 4] +:a + b//把a和b连接,重 ...

  2. 学习HTML 第一节.小试牛刀

    此贴并非教学,主要是自学笔记,所述内容只是些许个人学习心得的记录和备查积累,难以保证观点正确,也不一定能坚持完成. 如不幸到访,可能耽误您的时间,也难及时回复,贴主先此致歉.如偶有所得,相逢有缘,幸甚 ...

  3. php+MySQL的对用户表分表,使用户均匀分布

    假如说我们目前已有一亿个注册用户,要把这些用户平均分配到100张表中,并且后续注册的用户也要均匀分配到这100张表 首先当用户注册时,如用户名为“username”,用php的crc32()函数处理用 ...

  4. selenium webdriver API详解(一)

    本系列主要讲解webdriver常用的API使用方法(注意:使用前请确认环境是否安装成功,浏览器驱动是否与谷歌浏览器版本对应) 一:打开某个网址:get() from selenium import ...

  5. Hyperledger Fabric CouchDB as the State Database——使用CouchDB

    使用CouchDB作为状态数据库 状态数据库选项 状态数据库包括LevelDB和CouchDB.LevelDB是嵌入在peer进程中的默认键/值状态数据库,CouchDB是一个可选的外部状态数据库.与 ...

  6. centos下部署jenkins

    本文摘抄自:https://www.cnblogs.com/edward2013/p/5284503.html  ,请支持原版! 1. 安装JDK 1 yum -y install java 2.安装 ...

  7. Scrum立会报告+燃尽图(Beta阶段第二周第三次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411 项目地址:https://coding.net/u/wuyy694 ...

  8. 第一个scrum会议

    第一阶段冲刺任务认领: PM薛哥: 让手电筒亮起来 梁哥: 代码测试 康哥: 用户反馈等等

  9. 【分层最短路】Joyride

    http://codeforces.com/gym/101873 C 多开一维状态记录时间,d[i][t] = 经过时间t走到节点i的最小花费 每一个状态分别向"原地等待"与&qu ...

  10. 第11章 认识和学习bash

    认识bash这个shell 硬件.内核和shell 用户操作计算机流程如下: 用户——>用户界面(shell,KDE,application)——>核心(kernel)——>硬件(h ...