怎么在一台windows主机上搭建mysql主从复制

发布于2022-01-13 07:11:19
5个回答
admin
网友回答2022-01-13
您好,很高兴为您解答。

1、首先要在本地建立两个mysql服务(参考这里),指定不同的端口。我这里一个主(3306),一个从(3307)。

2、然后修改主配置文件:
[mysqld]
server-id = 1
binlog-do-db=test #要同步的数据库
#binlog-ignore-db=mysql #不同步的数据库,如果指定了binlog-do-db这里应该可以不用指定的
log-bin=mysql-bin #要生成的二进制日记文件名称

修改从配置文件:
[mysqld]
server-id = 2
log-bin = mysql-bin
replicate-do-db=test

3、在主库添加一个用户 repl 并指定replication权限
create user 'repl'@'127.0.0.1' identified by 'asdf';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'127.0.0.1'; -- --这里我指定数据库(test.*)时报错,而指定全库(*.*)时会成功。

4、保持主从mysql的test数据库初始状态一致。
一般是先将所有的表加读锁,然后copy磁盘上的数据库文件夹。我这里直接停止服务,然后将数据文件拷贝过去。

5、在主数据库里面运行show master status;记下file和position字段对应的参数。
mysql show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 107 | test | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

6、在从库设置它的master:
mysql change master to master_host='127.0.0.1',master_port=3306,master_user='repl',master_password='asdf',master_log_file='mysql-bin.000001',master_log_pos=107;
Query OK, 0 rows affected (0.19 sec)
这里的master_log_file和master_log_pos对应刚才show master status记下的参数。

7、在从库开启从数据库复制功能。
slave start;
mysql slave start;
Query OK, 0 rows affected (0.00 sec)
在从库可以通过show slave status来查看一些参数。

8. 此时在主库创建表或插入数据,在从库就会很快也能看到了。
-- 主库
mysql create table tianyc_02(b int);
Query OK, 0 rows affected (0.16 sec)
mysql insert into tianyc_02 values(2013);
Query OK, 1 row affected (0.13 sec)
-- 从库
mysql show tables;
+----------------+
| Tables_in_test |
+----------------+
| tianyc_01 |
| tianyc_02 |
+----------------+
2 rows in set (0.00 sec)
mysql select * from tianyc_02;
+------+
| b |
+------+
| 2013 |
+------+
1 row in set (0.00 sec)
同理,可以搭建第二、第三个从节点。

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【】

希望我的回答对您有所帮助,望采纳!

~ O(∩_∩)O~
admin
网友回答2022-01-13
-+-+-+-+-+-+-+-+-+-+-+- -+-+mysql的主从配置+-+- -+-+-+-+-+-+-+-+-+-+-+-###############################################################################################常用命令1.安装一个mysqld服务 mysqld install 2.开启mysql服务 关闭mysql服务 net start mysql net stop mysql2.开启一个 mysql 的 3307端口 命令行 进入解压目录\bin目录下 解压目录\bin mysql -uroot -p -P3307 -h127.0.0.1 -u 用户名 -p密码 -P端口 -h网址#启动从库Start slave#停止从库Stop slave###############################################################################################################################开始用一台电脑测试先在本电脑上安装一个mysql(集成的也行)解压文件然后解压另一个mysql到电脑目录》》》》》1.在解压目录创建一个mysql.ini把一下文档写进去配置一个端口号为3307#mysqld[mysqld]port=3307basedir=D:\mysqlsever #D:\mysqlsever 改成你解压目录datadir=D:\mysqlsever\data #D:\mysqlsever 改成你解压目录安装一个mysqld服务 mysqld install开启mysql服务 net start mysql不能正常启动请查看配置》》》》2.#主库3306在命令行或者grant 权限 on 数据库对象 to 用户GRANT all privileges REPLICATION SLAVE,RELOAD,SUPER ON *.*TO mysql_backup1@'*'IDENTIFIED BY '123456'with grant option;flush privileges;》》》3.在主库运行 SHOW MASTER STATUS //运行后查看File和Postion如 File mysql-bin.000002 Postion 120在从库运行 CHANGE MASTER TO master_host = '127.0.0.1',master_user = 'mysql_backup',master_password = '123456',master_log_file = 'mysql-bin.000001',#看上面的File 从库对照主库写master_log_pos = 4791;#看上面的Postion 从库对照主库写如果报错就停止就重新运行#启动从库Start slave#停止从库Stop slave在从库运行 Show slave statusSlave_IO_RunningSlave_SQL_Running两个字段全部是是Yes基本上就成功了测试在主库上建立一个表 在从库上刷新###############################
admin
网友回答2022-01-13
如何在一台windows主机上实现MySQL的主从复制 先在主数据库中创建新数据库rep_test。 然后编辑主数据库的my.ini文件 在[mysqld]节点中增加如下内容: server-id=1 #指定唯一的ID,1至32,必须的 log-bin=mysql-log-bin #指定二进制日志存放路径...
admin
网友回答2022-01-13
Windows上搭建MySQL主从和Linux下搭建主从是一样的,建议可以看看这篇文章《烂泥:MySQL5.5主从配置》
admin
网友回答2022-01-13
两个不同的端口即可安装两个数据库了

回到
顶部