运维高级课程第二次作业

1、mysql主从复制的原理

主从复制是一个异步复制的过程,主要是从库发送更新事件到从库,从库读取更新的数据,然后更新内容与主库保持一致。大致过程如下:

1、每当主库更新的时候,更新的事件日志都会存储在二进制文件,称为binlog,当数据库启动,所有的数据库更新记录都会被保存到binlog中。

2、当从库连接主库后,主库会创建一个线程,将binlog发送到从库中并对线程上锁,直到该事件被读取完成,锁才会释放。

3、当从库启动slave后,从库会创建一个I/O线程连接到主库并请求主库发送binlog里面的更新记录到从库上,IO线程读取binlog中的记录并更新到本地文件中。

4、从库开始进行复制,创建一个SQL线程,根据读取到的文件进行更新。

2、mysql主从复制的配置
配置主库
系统:node1(从库,IP地址192.168.23.139),server(主库,IP地址 192.168.23.137)

1、配置/etc/mysql/my.cnf文件

  

设置log-bin日志,设置唯一的server-id,注意从库的server-id要比主库的大,注意要配置bind_address,否则默认是127.0.0.1,连接数据库会不成功。 

 2、开启server数据库的外连

GRANT ALL PRIVILEGES ON  *.*  TO 'root'@'%' IDENTIFIED BY  'root'  WITH GRANT OPTION;        

赋予root用户所有权限,并且允许所有主机外连。

flush privileges; 执行权限。

 记住配置完后要重启数据库。

 3、配置Master

create user xiaoming identified by 'Root@root';

grant replication slave on *.* to xiaoming;

创建一个用户xiaoming,密码为Root@root,并赋予建立复制的用户权限。

show master status; 查看master状态后

 配置从库
1、修改/etc/mysql/my.cnf文件

 重启服务

2、 进入从库命令行

change master to master_host='192.168.23.137',master_user='xiaoming',master_password='Root@root',master_log_file='mysql-bin.000003',master_log_pos=1010;  设置连接主库
start slave;启动slave

Slave_IO_Running和Slave_SQL_Running都为Yes代表成功

三、测试
1、在主库新建立数据库tests,并建表test

 2、进入从库,查看是否同步

同步成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值