主从复制(了解)

数据库优化 学习笔记

一、主从复制


1.1、复制的基本原理
在这里插入图片描述
在这里插入图片描述

1.2、复制的三步骤

  1. master 将改变记录到二进制日志。这些记录过程叫做二进制日志事件,binary log events

  2. slave 将 master 的 binary log events 拷贝到它的中继日志

  3. slave 重做中继日志中的事件,将改变应用到自己的数据库中。MySQL 复制是异步的且串行的

1.3、复制的基本原则

  1. 每个 slave 只有一个 master

  2. 每个 slave 只能有一个唯一的服务器 ID

  3. 每个 master 可以有多个 salve



二、一主一从常见配置

  • MySQL 版本一致,且后台服务可以运行
  • 主从主机可以相互通信
  • 主从配置都在[mysqld]结点下,且都是小写

2.1、主机配置文件 my.ini

	server-id = 1       					# [必须]主服务器唯一ID
	log-bin = 自己本地的路径/mysqlbin  		# [必须]启用二进制日志
	log-err = 自己本地的路径/mysqlerr   		# [可选] 启用错误日志

2.2、从机配置文件 mysqld.cnf

	-- /etc/mysql/mysql.conf.d/mysqld.cnf
	server-id = 2       					# [必须]主从机的 ID 不能重复
	log-bin = 自己本地的路径/mysqlbin    		# [可选]启用二进制日志

2.3、修改过配置文件之后,要重启 MySQL 服务

	service mysql restart

2.4、主从都关闭防火墙

	service iptables stop

2.5、在 Windows 主机上建立账户并授权 slave

	-- MySQL 5.7 版本创建用户, 从机ip为 '%' 表示所有主机都可以连接
	create user '用户名'&'从机的ip地址' identified with '密码';
	
	-- MySQL 8.0 版本创建用户
	create user '用户名'&'从机的ip地址' identified with mysql_native_password by '密码';

	-- 授权
	grant replication slave on *.* to '名'@'从机数据库IP'

	-- 执行以下命令, 并记录下 File 和 position 的值
	show master status;

2.6、配置 Linux 从机

	change master to master_host = '主机地址',
	master_user = '用户名',
	master_password = '密码',
	master_log_file = 'File 的值',
	master_log_pos = position的值;

2.7、测试是否配置成功

	start slave;                 -- 启动从服务器复制功能
	show slave status\G 
	
	-- 下面两个参数都是 yes, 则说明主从配置成功
	slave_io_running:yes   
	slave_sql_running:yes

	stop slave;					-- 关闭从服务器复制功能
发布了85 篇原创文章 · 获赞 0 · 访问量 1240

猜你喜欢

转载自blog.csdn.net/qq_43621629/article/details/103945478