Master
主服务器的ip:1
92.168.1.
99
Slave1
从服务器的ip:1
92.168.1.
113
Slave2
从服务器的ip:1
92.168.1.
111
一、master主服务器上设置:
1.
权限设置
允许用户
user
从
ip
为
192.168.
220.131
192.168.
220.132.
的主机连接到
mysql
服务器
(master)
,并使用
pass
作为密码
下面用户名是user,密码是pass
mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'192.168.220.131' IDENTIFIED BY ' repl '
mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'192.168.220.131' IDENTIFIED BY ' repl '
2、
文件配置
修改my.ini配置文件
[mysqld]
port=3306
服务端口
加入下面两行,设置log文件、服务id
log-bin = mysql-bin.log
server-id = 1
重启mysql服务。
3.
得到主服务器上当前的二进制日志名和偏移量
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000005 | 106 | | |
+------------------+----------+--------------+------------------+
1 row in set
二、slave1从服务器上设置:
1.
文件配置
修改my.ini配置文件
[mysqld]
port=3306
服务端口
加入下面两行,设置服务id、 log文件
server-id = 2
log-bin = mysql-bin.log
重启mysql服务。
2.
在从服务器上,关闭slave线程
Mysql>stop slave;
3.
在从服务器做相应设置
指定复制使用的用户,主数据库服务器的ip、端口、以及开始执行复制的日志文件和位置等。
Mysql >Change master to
master_host='192.168.220.128',
master_port=3306,
master_user='user',
master_password='pass',
master_log_file='mysql-bin.000005',
master_log_pos=106;
4.
在从服务器上,启动slave线程
Mysql >start slave;
5.
显示slave的状态信息
Mysql >show slave status;
6.
显示从服务器上的进程
Mysql >show processlist;
三、slave2从服务器上设置:
1.
文件配置
修改my.ini配置文件
[mysqld]
port=3306
服务端口
加入下面两行,设置服务id、 log文件
server-id = 3
log-bin = mysql-bin.log
重启mysql服务。
2.
在从服务器上,关闭slave线程
Mysql>stop slave;
3.
在从服务器做相应设置
指定复制使用的用户,主数据库服务器的ip、端口、以及开始执行复制的日志文件和位置等。
Mysql >Change master to
master_host='192.168.220.128',
master_port=3306,
master_user='repl',
master_password='repl',
master_log_file='mysql-bin.000005',
master_log_pos=106;
4.
在从服务器上,启动slave线程
Mysql >start slave;
5.
显示slave的状态信息
Mysql >show slave status;
6.
显示从服务器上的进程
Mysql >show processlist;
三、测试查看效果
1
、保持master主服务器和slave1、slave2开启;
在master服务器上操作数据库和表,能看到slave服务器上的数据库和表跟随着做相应变动。
转载于:https://blog.51cto.com/developers/852331