my03_使用空数据库搭建Mysql主从复制


无数据的主从复制,就搭建一套主从结构的空库,这个是最简单的,先说说这种主从的搭建思路,有利于理解Mysql主从复制
1. 安装两套mysql单实例数据库,一个作为主库、一个作为从库

2. 主库添加一个用户并授予复制从库的权限,从库会连接到主库的该用户,把数据取回去,然后在自己的库上执行
grant replication slave on *.* to 'bak'@'10.168.21.%' identified by 'rootroot';
flush privileges;

3. 在从库上设置从库复制的起点,即设置从主库上的哪个binlog的哪个pos开始拉取数据

由于主库是空库,即没有数据,可以直接在主库查看一下master status,然后以此为起点即可,注意这里并没有像通常那样”将主库的数据备份,然后在从库上恢复“,没有必要
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 150 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.01 sec)

从库上的复制起点
CHANGE MASTER TO
MASTER_HOST='10.168.21.186',
MASTER_USER='bak',
MASTER_PASSWORD='rootroot',
MASTER_PORT=3313,
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=150,
MASTER_CONNECT_RETRY=10;

如果忘记这一串命令怎么写,可以数据库中打以下命令,然后回车,就能看到命令的提示

mysql> ? change master to

4. 从库启动slave进程
start slave;
show slave status\G;

回顾一下,复制的关键点在于
主库上要创建一个用于复制的用户,记住 “replication slave”这个权限
从库要正确设置复制的起点,记住“? change master to”可以得到设置复制起点命令的提示
这样就可以建立一条从主库到从库的复制链路,以逻辑的方式在从库上进行SQL重演,以实现复制的功能。

猜你喜欢

转载自www.cnblogs.com/perfei/p/9358981.html
今日推荐