主从复制(了解)
程序员文章站
2022-06-29 11:28:58
...
数据库优化 学习笔记
一、主从复制
1.1、复制的基本原理
1.2、复制的三步骤
-
master 将改变记录到二进制日志。这些记录过程叫做二进制日志事件,binary log events
-
slave 将 master 的 binary log events 拷贝到它的中继日志
-
slave 重做中继日志中的事件,将改变应用到自己的数据库中。MySQL 复制是异步的且串行的
1.3、复制的基本原则
-
每个 slave 只有一个 master
-
每个 slave 只能有一个唯一的服务器 ID
-
每个 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; -- 关闭从服务器复制功能
上一篇: QT 基本图形绘制
下一篇: python学习笔记:基本图形绘制