A服务器操作:
- 开启binlog日志
vim /etc/my.cnf
[mysqld]
Log-bin=master
Log-bin-index=master
Server-id=1
Service mysqld restart (重启MySQL服务)
2.允许从数据库可以拷贝主数据库binlog日志
:grant replication slave on *.* to slave@’10.10.10.101’identified by ‘123’; (只能复制日志文件,不能做其它操作)
B服务器操作: ip 172.16.10.2
1.测试slave是否能正常链接A服务器
mysql -u slave -p123 -h 172.16.10.1
2.拷贝A服务器的全备,并且恢复
scp 172.16.10.1:/backup/all.sql ./
mysql -u root < /root/all.sql
3.配置A服务器连接地址及用户信息
vim /etc/my.cnf
[mysqld]
server-id=2
mysql -u root -p123
mysql> stop slave;
3.CHANGE MASTER TO (给从服务器指定其实复制位置)
在 MySQL 主从复制(Replication)架构中,CHANGE MASTER TO 语句用于配置从服务器(Slave)连接到主服务器(Master),并指定复制的起始位置。这是设置主从复制的关键步骤,决定了从服务器如何获取主服务器的数据变更
具体配置举例:
mysql> change master to
-> master_host='172.16.10.1',
-> master_user='slave',
-> master_password='123',
-> master_port=3306,
-> master_log_file='mysql-bin.000001',
-> master_log_pos=120;
mysql> start slave;
SHOW SLAVE STATUS\G 查看io与sql线程是否为yes
测试
Show master status\G(查看主服务器状态)
A服务器
mysql> show master status\G
B服务器
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
A服务器做出数据改动 查看从服务器是否有同步的变化