第一步:确认主从服务器的 MySQL 版本。
MySQL 不同版本的 BinLog 格式可能不一样,最好采用相同版本。如果达不到要求,必须保证主服务版本不高于从服务器版本。用 mysql -V 命令查看。
第二步:在主服务器上为从服务器设置一个连接帐号,授予 REPLICATION SLAVE 权限。
每个从服务器使用标准 MySQL 用户名和密码连接主服务器。假定域为 mydomain.com,要创建用户名为 “repl” 的账户,从服务器使用该账户从域内任何主机使用密码 “pass4slave” 访问主服务器。创建该账户使用 GRANT 语句:
mysql>CREATE USER 'repl'@'%
.mydomain.com
' IDENTIFIED BY 'slavepass';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';
第三步:配置主服务器。
打开二进制日志,制定唯一 Server ID。例如,在 my.cnf 配置文件中加入如下值:
[mysqld]
log-bin = mysql-bin
server-id = 1
第四步:重启主服务器。
1. 打开主服务器 MySQL 客户端,执行下面的 SQL 语句来防止 MySQL 的写操作
mysql> FLUSH TABLES WITH READ LOCK;
mysql > SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000003 | 73 | | | +------------------+----------+--------------+------------------+
File 表示主服务器正在使用的 binlog 文件;Position 的值与 binlog 文件的大小相同,表示下一个被记录事件的位置;Binlog_Do_DB 和 Binlog_Ignore_DB 是主服务器控制写入 binlog 文件内容的过滤选项,默认为空,表示不做任何过滤。
File 和 Position 两个字段指明从服务器将从哪个 binlog 文件中复制,以及复制的开始位置,它们也是 CHANGE MASTER TO 语句的参数。
第五步:配置从服务器。
从服务器的配置与主服务器类似,必须提供一个唯一 Server ID(不能跟主服务器 ID 相同),配置完毕后同样需要重启MySQL 服务器,配置如下:
[mysqld]
log-bin = mysql-bin
server-id = 2
第六步:启动从服务器。
接下来让从服务器连接主服务器,并开始重做主服务器 binlog 文件中的事件。
第七步:启动主服务器信息。
使用 CHANGE MASTER TO 语句制定主服务器的信息,不要在配置文件中设置。该语句可以替代在配置文件中提供主服务器的信息,另外,不需要停止服务器,便可以为从服务器指定不同主服务器,语句如下
mysql>CHANGE MASTER TO
->MASTER_HOST='
->192.168.1.100
',MASTER_USER='repl',
->MASTER_PASSWORD='slave
->pass
',MASTER_LOG_FILE='
->mysql-bin.000001
',MASTER_LOG_POS=
0
;
此处制定 MASTER_LOG_POS
的值为 0 ,因为要从日志的开始位置开始读。也可以在语句 SHOW MASTER STATUS 显示中的文件位置开始读。只需把主服务器现在的数据库快照复制到从服务器
使用 mysqldump 创建数据快照
mysql> FLUSH TABLES WITH READ LOCK;
shell> mysqldump --all-databases --lock-all-tables >dbdump.db
shell> mysqldump --all-databases --master-data >dbdump.db
mysql> UNLOCK TABLES;
如果你主从服务器的系统变量 ft_stopword_file, ft_min_word_len 或者 ft_max_word_len 有差异,在复制那些有全文索引的表也会出现问题。
第八步:查看从服务器的设置是否准确。
使用 SHOW SLAVE STATUS 语句查看从服务器的设置是否准确。
第九步:执行 START SLAVE 语句开始复制。
mysql> START SLAVE;
相关推荐
mysql5.5 主从配置,可以使得mysql服务器配置更加简单,熟练
配置mysql5.5主从服务器(转)
Windows,MySQL5.5,主从配置,主或从挂掉问题处理
mysql5.6-5.5主从备份 A服务器(主服务器Master):9.1.6.217 mysql:5.6 redhat5.8 B服务器(从服务器Slave):localhost mysql:5.5 win10
MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能、更高可靠性要求的场合
mysql5.5源码主从复制搭建(以两台机器的单实例为例)
mysql5.5源码主从复制搭建(同一台机器双实例3306和3307)
主要介绍了MySQL 5.5主从同步设置笔记分享,需要的朋友可以参考下
这里我以MySQL5.5为例来说一下MySQL的主从复制的原理: 首先由备节点的I/O线程负责向主节点请求数据,主节点验证通过以后会由dump线程把数据发送给备用节点。备用节点的I/O线程收到资源后会把把这些数据写入到中继...
Mysql windows下 主从数据库配置,数据库版本mysql 5.5,包括测试程序和步骤
实际配置MYSQL时写的文档,包括了配置时每一步的命令行语句,附上MYSQL主从复制,数据备份,远程访问权限等配置
一主一从: Master: OS:centos release 5.6 DB:mysql 5.5.8 IP:192.168.1.2 Slave: OS:centos release 5.6 DB:mysql 5.5.8 IP:192.168.1.3 修改主机Master配置文件 (/etc/my.cnf) 代码如下: [mysqld] //至少要有...
mysql_5.5._下的主从模式.pdf
mysql_5.5._下的主从模式.docx
MySQL主从复制优点 1、横向扩展解决方案 - 在多个从站之间分配负载以提高性能。在此环境中,所有写入和更新都必须在主服务器上进行。但是,读取可以在一个或多个从设备上进行。该模型可以提高写入性能(因为主设备专...