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 [email protected].%                            |
+---------------------------------------------------------+
| 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               |
+--------------------+

注:

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

相关推荐
码农黛兮_4615 分钟前
SQL 索引优化指南:原理、知识点与实践案例
数据库·sql
爆肝疯学大模型16 分钟前
SQL server数据库实现远程跨服务器定时同步传输数据
运维·服务器·数据库
我来整一篇1 小时前
用Redis的List实现消息队列
数据库·redis·list
加什么瓦1 小时前
Redis——数据结构
数据库·redis·缓存
神仙别闹1 小时前
基于C#+SQL Server开发(WinForm)租房管理系统
数据库·oracle·c#
528302 小时前
MySQL主从复制
数据库·mysql
qq_12498707532 小时前
原生小程序+springboot+vue医院医患纠纷管理系统的设计与开发(程序+论文+讲解+安装+售后)
java·数据库·spring boot·后端·小程序·毕业设计
jie188945758662 小时前
ubuntu----100,常用命令2
数据库·ubuntu
若兰幽竹3 小时前
【HBase整合Hive】HBase-1.4.8整合Hive-2.3.3过程
数据库·hive·hbase
lybugproducer3 小时前
浅谈 Redis 数据类型
java·数据库·redis·后端·链表·缓存