Mysql主从复制操作流程

本文介绍了MySQL主从复制的完整操作流程,包括配置log-bin、设置server-id、创建备份账户并授权、数据备份与导入、设置从服务器的主配置、开启复制及监控同步状态等关键步骤。

MySql主从复制

1.主配置log-bin,指定文件的名字

在/etc/my.cnf 中添加一行 log-bin=kayak-mysql-log

2.主配置server-id,默认为1

在/etc/my.cnf中添加一行server-id=1 注意主从两台服务器的server-id不能相同

3.从配置server-id,与主不能重复

在/etc/my.cnf中添加一条server-id=2

4.主创建备份账户并授权 REPLICATION SLAVE

在主节点服务器上mysql中创建repl账户,密码为mysql_native_password模式(mysql最新版本8,密码认证方式最新方式):
create user ‘repl’@’%’ identified by ‘Kayak@123’;
grant all on . to’repl’@’%’;
alter user ‘repl’@’%’ identified with mysql_native_password by ‘Kayak@123!’;
grant replication slave a on . to’repl’@’%’;

5.主进行锁表 FLUSH TABLES WITH READ LOCK;

主mysql锁表防止此时从主插入数据造成position改变

6.主找到log-bin的位置 SHOW MASTER STATUS;

在mysql中执行show master status查看log-bin位置记住;

7.主备份数据 mysqldump --all-databases --master-data > dbdump.db

新开一个窗口执行以上语句导出主mysql的数据

8.从上导入数据 mysql < dbdump.db -uroot -p

将主mysql的dbdump.db文件复制到从服务器上,将dbdump文件导入到从mysql中

9.主进行解锁 UNLOCK TABLES;

解锁主mysql

10.在从上设置主的配置

mysql> CHANGE MASTER TO
-> MASTER_HOST=‘182.92.0.134’,
-> MASTER_USER=‘rep1’,
-> MASTER_PASSWORD=‘Kayak@123’,
-> MASTER_LOG_FILE=‘kayak-mysql-log.000001’,
-> MASTER_LOG_POS=567;

注意:最好更改默认的身份认证插件为:mysql_native_password,否则会报错,偶尔设置好了,也会挂,不知是不是bug。
更改方法:编辑my.cnf文件
vi /etc/my.cnf
在[mysqld]中添加下边的代码
default_authentication_plugin=mysql_native_password
11.start slave

开启从节点

12.show slave status\G;

查看从节点和主节点是否同步成功

13.如果主从没有同步成功

stop slave;
#表示跳过一步错误,后面的数字可变
set global sql_slave_skip_counter =1;
start slave;
之后再用mysql> show slave status\G 查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
ok,现在主从同步状态正常了。。。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值