Mysql配置主从复制

废话不多说,直接说步骤。
准备两个mysql数据库,一个作为master,一个做slave,

一、master数据库配置:

1、修改配置文件

修改my.cnf配置文件,在[mysqld]的位置下面添加两行配置。
第一行用于开启二进制日志文件,主从之间就是从库获取主库的二进制日志文件保持数据一致。
第二行是一个server-id,用来作为数据库的唯一标示,建议使用IP地址的最后一位。
[mysqld]
log-bin=mysql-bin
server-id=1
mysql> show master status;
File Position
mysql-bin.000001 836

1 row in set (0.02 sec)

这两个值等会配置从库时会用到。

2、新建一个用于同步的用户。

#新建用户
mysql>create user 'yzp'@'%' identified by 'yzp123';
#授权
mysql>grant repliaciton slave on *.* to 'yzp'@'%' identified by 'yzp123';

二、Slave数据库配置

同样的也是修改my.cnf配置文件,在[mysqld]下面的位置加入两行。
[mysqld]
log-bin=mysql-bin
server-id=2
#配置从库
mysql>change master to master_host='192.168.100.1',master_user='yzp',master_password='yzp123',master_log_file='mysql-bin.000001',master_log_pos=836;

# 这里的master_host就是主机IP地址
# master_user是刚才在master上授权的用户
# master_log_file就是刚才master上查到的File,即二进制日志
# master_log_pos就是刚才查到的位置,表示从日志的哪个位置开始同步

#查看下slave状态
mysql>show slave status;

三、测试

master新建一个库,新建一张表,插入一条数据

# 创建测试数据库,
mysql>CREATE DATABASE `test_replication` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 
#创建表,插数据
mysql>use test_replication;
mysql>create table test_01(id int(10),name varchar(20),primary key(id));
mysql>insert into test_01(1,'tom');

到Slave数据库中去查询

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test_replication   |
+--------------------+
5 rows in set (0.03 sec)
#刚才新建的数据库已经查到了
mysql> use test_replication;
Database changed
mysql> select * from test_01;
+----+------+
| id | name |
+----+------+
|  1 | tom  |
|  2 | cat  |
+----+------+
2 rows in set (0.07 sec)

猜你喜欢

转载自blog.csdn.net/zhaopeng_yu/article/details/72416906