Bla*_*ack 6 mysql replication windows
当两台服务器都基于 Windows 时,如何在 MySQL 5.6 中设置复制(主/从)?我喜欢的所有东西都是基于 Linux 的复制。请有人帮助经历过基于 Windows 的服务器的复制。
jyn*_*nus 10
在windows服务器上设置复制相当于在其他系统上做:官方手册为您提供了详细的指南。简而言之:
在两台服务器上配置不同的 server-id,并在 master 上激活二进制日志。如果还没有完成,最典型的方法是修改 my.ini 文件并重新启动服务(net restart mysql):
[mysqld]
log-bin
server-id = 1
Run Code Online (Sandbox Code Playgroud)
还要确保主节点可以从从节点访问,并且它没有绑定到 localhost ( bind-address = 127.0.0.1)
在主服务器上为从服务器创建一个用户以使用 REPLICATION SLAVE 权限连接(为此使用 MySQL 命令行):
mysql master> CREATE USER 'user_name'@'ip.of.the.slave' IDENTIFIED BY 'password';
mysql master> GRANT REPLICATION SLAVE ON *.* TO 'user_name'@'ip.of.the.slave';
Run Code Online (Sandbox Code Playgroud)备份主站并将其应用到从站。有几种方法可以做到这一点(停止服务器并复制文件有效),但最简单的方法是 se mysqldump(导航到 sql-server 安装的 bin 目录(fe C:\Program Files\MySQL\MySQL Server 5.7\bin)。此外,您可能需要通过将其附加到两个命令来提供凭据:-uroot -pPassword)
(on the master windows command line) mysqldump --all-databases --master-data > dump.sql
(on the slave windows command line ) mysql < dump.sql
Run Code Online (Sandbox Code Playgroud)在 dump.sql 的开头你会发现这样一行:
-- CHANGE MASTER TO MASTER_LOG_FILE = 'file_name', MASTER_LOG_POS = file_pos;
Run Code Online (Sandbox Code Playgroud)
使用这些参数在从属设备上配置复制:
mysql slave> CHANGE MASTER TO MASTER_HOST = 'ip.of.the.master',
MASTER_USER = 'user_name_you_just_created',
MASTER_PASSWORD = 'password_you_just_defined',
MASTER_LOG_FILE = 'file_name',
MASTER_LOG_POS = file_pos;
Run Code Online (Sandbox Code Playgroud)
(请注意,整数没有引号,例如MASTER_LOG_POS)。
如果到目前为止一切正常,只需在从站上开始复制:
mysql slave> START SLAVE;
Run Code Online (Sandbox Code Playgroud)
要检查它是否正在运行,请执行:
mysql slave> SHOW SLAVE STATUS;
Run Code Online (Sandbox Code Playgroud)
并寻找:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Run Code Online (Sandbox Code Playgroud)基于GTID的复制有点不同,我没有提到。
| 归档时间: |
|
| 查看次数: |
24040 次 |
| 最近记录: |