我想在MS Windows 2008 R2下使用MySQL 5.6.14进行MySQL复制,Master和Slave的端口应该是1000(PC1上的主库,PC2上安装的从库)。
我为 master 添加了以下参数 My.ini
[mysqld]
server-id=1
log-bin=black-bin.log
datadir=d:\mysql\master\
innodb_flush_log_at_trx_commit=1
sync_binlog=1
Run Code Online (Sandbox Code Playgroud)
然后我编辑从My.ini
添加以下参数:
[mysqld]
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
datadir=d:\mysql\slave
Run Code Online (Sandbox Code Playgroud)
之后,我使用 root 用户登录到 Master 数据库并执行以下命令
CREATE USER repl_user@slave_ip;
GRANT REPLICATION SLAVE ON *.* TO repl_user@slave_ip IDENTIFIED BY 'password';
Run Code Online (Sandbox Code Playgroud)
为了初始化复制,我登录到从数据库并执行以下命令:
CHANGE MASTER TO MASTER_HOST='maset_ip',
-> MASTER_USER='repl_user',
-> MASTER_PASSWORD='password';
start slave;
Run Code Online (Sandbox Code Playgroud)
如果 master 的端口是 3306,则复制工作正常,但如果端口更改,则它不再工作。我的问题是:如何让从设备连接到端口 1000?我尝试将以下参数添加到从属my.ini
master-port=1000
然后重新启动从属 SID 但它不起作用(服务未启动,错误消息:未知参数主端口)。请指教,谢谢。
您需要将 Master 的端口添加到 my.ini
[mysqld]
server-id=1
port=1000
log-bin=black-bin.log
datadir=d:\mysql\master\
innodb_flush_log_at_trx_commit=1
sync_binlog=1
Run Code Online (Sandbox Code Playgroud)
并重新启动mysql
首先运行这个
STOP SLAVE;
SHOW SLAVE STATUS\G
Run Code Online (Sandbox Code Playgroud)
从输出来看
CurrentLogFile
CurrentLogPosition
正如评论中提到的CHANGE MASTER TO
,像这样在 Slave 上运行
CHANGE MASTER To
MASTER_HOST='ipaddrofmaster',
MASTER_PORT=1000,
MASTER_USER='repl_user',
MASTER_PASSWORD='password'
MASTER_LOG_FILE='CurrentLogFile',
MASTER_LOG_POS=CurrentLogPosition;
START SLAVE;
Run Code Online (Sandbox Code Playgroud)
试一试 !!!
归档时间: |
|
查看次数: |
4819 次 |
最近记录: |