mysql 主备 windows_Windows下实现MySql主从复制

启动及关闭mysql的命令。注:此命令是在cmd窗口执行

MySql启动停止命令

net start mysql

net stop  mysql

修改Mysql.user表中的root用户的host权限为%,否则无法使用root用户远程连接

824f8abb0f848cc041841fdd83429aa6.png

登入MySql执行:

SHOW VARIABLES LIKE '%datadir%';查看my.ini路径

281536b0dc02c9d7cecdeceb4ac7075e.png

找到配置文件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%'; 查询是否生效

7278a2fc6409f88c40f76ab1f7ad027a.png

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;  记录这里的信息,接下来配置从库是会使用

c69ab935a2b8b5937d9a53563ed56464.png

二、从库配置

将主库中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)

同理,可以搭建第二、第三个从节点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值