加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Windows系统下应该怎样实现MySql主从复制

发布时间:2023-08-11 15:10:38 所属栏目:MySql教程 来源:
导读:下文内容主要给大家带来Windows系统下应该如何实现MySql主从复制,所讲到的知识,与书籍不同,都是亿速云专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。

启动及
下文内容主要给大家带来Windows系统下应该如何实现MySql主从复制,所讲到的知识,与书籍不同,都是亿速云专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。
 
启动及关闭mysql的命令。注:此命令是在cmd窗口执行
 
MySql启动停止命令
 
net start mysql
 
net stop  mysql
 
修改Mysql.user表中的root用户的host权限为%,否则无法使用root用户远程连接
 
登入MySql执行:
 
SHOW VARIABLES LIKE '%datadir%'; 查看my.ini路径
 
找到配置文件my.ini,加入如下代码
 
[mysqld]
 
server-id = 1   
 
binlog-do-db=test         #要同步的数据库
 
#binlog-ignore-db=mysql   #不同步的数据库,如果指定了binlog-do-db这里应该可以不用指定的
 
log-bin=mysql-bin         #要生成的二进制日记文件名称
 
expire_logs_days = 10     #二进制日志文件删除的天数
 
max_binlog_size=100M      #二进制日志文件最大的大小
 
#bind_address=192.168.1.188   指定访问地址
 
character-set-server=utf8    #仅适用5.5以上版本
 
保存更改的配置文件
 
然后执行下面sql语句查询是否修改成功
 
SHOW VARIABLES LIKE '%log_bin%'; 查询是否生效
 
log_bin 的值为on说明修改成功
 
show variables like 'server_id';
 
如果server_id'不存在执行,创建  SET GLOBAL server_id=1;
 
接下来在master(主库)上建立一个备份账户,这里创建的账户为repl %表示任意地址的repl用户均可登入master。
 
GRANT REPLICATION SLAVE ON *.* TO 'repl '@'%' IDENTIFIED BY 'Abcd@1234';
 
 从库机器上连接主库命令  mysql -h IP地址 -uroot -p ;
 
GRANT ALL PRIVILEGES ON *.* TO 'repl'@'%'  测试从库连接主库,如无法连接,进行授权解决
 
重启云服务器,查询master主机信息
 
show master status;  记录这里的信息,接下来配置从库是会使用
 
二、从库配置
 
将主库中data要复制的库复制到从库的data中,保持数据一直,这里我们使用的是test
 
然后编辑从数据库的my.ini文件
 
[mysqld]
 
server-id = 2
 
log-bin = mysql-bin
 
replicate-do-db=test
 
character-set-server=utf8    #仅适用5.5以上版本
 
ps:查看配置文件是否已存在server-id   如果有,需要注释掉
 
show variables like 'server_id';
 
如果server_id'不存在执行,创建  SET GLOBAL server_id=2;
 
停止slave 服务
 
stop slave;
 
设置从库连接时登录主数据库的账号和密码等信息,然后启动slave  (ps:这最好重新查看一下master状态,以防信息发生改变 show master status; )
 
CHANGE MASTER TO MASTER_HOST = '192.168.1.188' ,MASTER_USER = 'repl'
 
    ,MASTER_PASSWORD ='Abcd@1234'
 
    ,MASTER_LOG_FILE ='binlog.000008'
 
    ,MASTER_LOG_POS =154;
 
MASTER_HOST     表示实现复制的主服务器IP地址
 
MASTER_USER     表示实现复制的登入远程主服务器的用户
 
MASTER_PASSWORD 表示实现复制的登入远程主服务器的用户密码
 
(这里的master_log_file和master_log_pos对应刚才show master status记下的参数。)
 
MASTER_LOG_FILE 表示实现复制的binlog日志文件
 
MASTER_LOG_POS  表示实现复制的binlog日志文件的偏移量
 
开启slave
 
start slave;
 
show slave status;
 
查看这两项是否为YES,yes为正常。
 
Slave_IO_Running: Yes  或 Connecting to master
 
Slave_SQL_Running: Yes
 
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)
 
同理,可以搭建第二、第三个从节点。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章