无数据的主从复制,就搭建一套主从结构的空库,这个是最简单的,先说说这种主从的搭建思路,有利于理解Mysql主从复制
1. 安装两套mysql单实例数据库,一个作为主库、一个作为从库;注意要设置两个数据库server-id不同。
2. 主库添加一个用户并授予复制slave的权限,从库会连接到主库的该用户,把数据取回去,然后在自己的库上执行
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重演,以实现复制的功能。
转载于:https://www.cnblogs.com/perfei/p/9358981.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101529.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...