MySQL主从复制环境部署

文章目录

MySQL主从复制

什么是主从复制:

通过将MySQL的某一台主机(master)的数据复制到其他主机(slaves)上,并重新执行一遍来执行

复制的这一过程叫做主从复制。

为什么需要主从复制:

通过主从复制可以实现后续的读写分离,部署高可用架构等打下基础。

配置文件修改-主:

bash 复制代码
[root@rhel7 ~]# vim /etc/my.cnf
[mysqld]
log_bin=mysql-bin
server_id=138
#server_id 必须配置且全网唯一。
#若只开启二进制日志不配置server_id,服务将无法重启。

时间同步:

bash 复制代码
[root@rhel7 ~]# ntpdate ntp1.aliyun.com
[root@node2 ~]# ntpdate ntp1.aliyun.com

重启服务-主:

bash 复制代码
[root@rhel7 ~]# systemctl restart mysqld

创建同步用户:

mysql 复制代码
mysql> grant replication slave on *.* to 'bak'@'192.168.110.%' identified by 'Redhat@123';
#权限如下
mysql> show grants for 'bak'@'192.168.110.%';
+---------------------------------------------------------+
| Grants for bak@192.168.110.%                            |
+---------------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'bak'@'192.168.110.%' |
+---------------------------------------------------------+

查看主上的二进制文件名及位置:

mysql 复制代码
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 |      154 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+

配置-从:

mysql 复制代码
[mysqld]
server_id=140
mysql 复制代码
mysql> change master to
    -> master_host='192.168.110.138',
    -> master_user='bak',
    -> master_password='Redhat@123',
    -> master_log_file='mysql-bin.000002',
    -> master_log_pos=154;

测试:

mysql 复制代码
mysql> start slave;
mysql> show slave status\G;

#若以下两个为yes则代表成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
#主
mysql> create database test;
#从
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+

注:

在进行同步前,最好使两边数据库内容保持一致、版本号尽量一致、操作系统一致,不然可能出现连接不上的情况。

相关推荐
Bioinfo Guy2 小时前
高分Panel复现系列|转录因子网络太乱?用模块框把重点圈出来
数据库·生物信息学·生信可视化
ltl3 小时前
Disaggregated DB 合集:Socrates、PolarDB、Taurus 的共同模式
数据库
Blossom i5 小时前
大数据预处理与采集实验一:使用Python操作MySQL数据库
数据库·mysql
InfinitePlus6 小时前
Docker MySQL搭建一主一从
mysql·docker
雾时之林6 小时前
Linux--软件管理、源码包安装
linux·服务器·数据库
老纪的技术唠嗑局8 小时前
超级干货分享:中小企业使用 OceanBase 实践经验汇总
数据库
坐吃山猪8 小时前
Docker07-MySQL
mysql·docker·容器
CLOUD ACE8 小时前
谷歌云代理|零售商Target 如何利用 Spanner Graph 提升零售发现体验并将数据库维护成本降低 50%
数据库·零售
AI大模型-小雄8 小时前
Codex写分页接口为什么越翻越慢?用Cursor Pagination解决重复与漏数据
大数据·数据库·elasticsearch·搜索引擎·chatgpt·后端开发·codex
少晓年9 小时前
从 MySQL 迁移到人大金仓 KingbaseES:完整指南与实践
数据库·mysql