欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

主从复制(了解)

程序员文章站 2022-06-29 11:28:58
...

数据库优化 学习笔记

一、主从复制


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;					-- 关闭从服务器复制功能
相关标签: 数据库优化