在公司工作之余看了mysql的master-slave设置,大致的意思和流程已然懂了,但从未实践过。今天有时间实践一下,手头有两台win7机器,就凑合着用吧!! 首先设定是关系A为Master,B为Slave.(两台机器的Mysql都是5.0,但不同) 设置A 的my.ini server-id = 1log-
在公司工作之余看了mysql的master-slave设置,大致的意思和流程已然懂了,但从未实践过。今天有时间实践一下,手头有两台win7机器,就凑合着用吧!!
首先设定是关系A为Master,B为Slave.(两台机器的Mysql都是5.0+,但不同)
设置A 的my.ini
server-id = 1 log-bin=mysql-bin binlog_do_db=test1 binlog_ignore_db=mysql innodb_flush_log_at_trx_commit=1 sync_binlog=1 binlog_checksum=none
server-id = 1 #机器ID
log-bin=mysql-bin #开启二进制日志
binlog_do_db=test1 #要同步的数据库
binlog_ignore_db=mysql #忽略mysql数据库
sync_binlog=1 #及时刷新写入二进制日志
binlog_checksum=none #版本不同且A大于5.6所以要设置一下
在A上创建test1数据库 和tab表
在Master上创建slave用户
grant all privileges on *.* to slave@'%' identified by 'slave';
A即Master基本配置完毕
开始配置B-Slave
设置B的my.ini
log-bin=mysql-bin binlog_do_db=test1 binlog_ignore_db=mysql
并在B上创建和A完全相同的test1数据库 和tab表
至此配置都已完成,下面开始寻找要同步的二进制日志的同步点
在A输入
mysql>show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000053
Position: 606
Binlog_Do_DB: test1
Binlog_Ignore_DB: mysql
Executed_Gtid_Set:在B上输入
change master to master_host='A的ip',master_user='slave',master_password='slave',master_log_file='mysql-bin.000053',master_log_pos=606;
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.209.78.13
Master_User: slave
Master_Port: 3306
Connect_Retry: 30
Master_Log_File: mysql-bin.000053
Read_Master_Log_Pos: 333
Relay_Log_File: Lee-PC-relay-bin.000002
Relay_Log_Pos: 492
Relay_Master_Log_File: mysql-bin.000053
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: test1
Replicate_Ignore_DB: mysql
Replicate_Do_Table:Slave_IO_Running: Yes Slave_SQL_Running: Yes
那就赶紧测试一下吧。
在A上insert一条数据,看看B上传过来了没
教程至此完毕
说明:若在B上show slave status\G;时出现connecting to master时 原因可能是
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号