MySQL主从复制配置详解(上)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
日志服务 SLS,月写入数据量 50GB 1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 之前很多小伙伴想知道MySQL主从复制的配置步骤,今天它来了。带着你可能碰到的各种异常来了。

配置环境

操作系统:两台CentOS 7.6的Linux系统

数据库版本:MySQL 5.6.39

主服务器IP:192.168.0.1

从服务器IP:192.168.0.2



安装数据库

之前已经给小伙伴们详细的讲解了CentOS安装MySQL的操作步骤了,还没看过的小伙伴可以戳这里:

Linux环境下安装MySQL步骤详解



配置前提

1、需要保证3306端口开启或关闭防火墙,在MySQL的安装里有介绍。

2、两台服务器之间可以相互ping通

--在192.168.0.2上输入ping命令
ping 192.168.0.1
--在192.168.0.1上输入ping命令
ping 192.168.0.2

3、安装成功一台MySQL后,使用虚拟机克隆一台作为从服务器



配置主(Master)数据库

1、修改数据库配置文件


[root@localhost ~]# vi /etc/my.cnf


将里面的内容修改为


[mysqld]
#开启二进制日志
log-bin=mysql-bin
#标识唯一id(必须),一般使用ip最后位
server-id=1
#不同步的数据库,可设置多个
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=mysql
#指定需要同步的数据库(和slave是相互匹配的),可以设置多个
binlog-do-db=test


添加日志存储方式和规则(选填)


#设置存储模式不设置默认
binlog_format=MIXED
#日志清理时间
expire_logs_days=7
#日志大小
max_binlog_size=100m
#缓存大小
binlog_cache_size=4m
#最大缓存大小
max_binlog_cache_size=521m


:日志的存储容量我设置的都比较小,当然你可以根据实际情况修改得大一点。


2、重启数据库服务mysqld


service mysqld restart


如果你按照上面的正确安装mysql了,这里是可以正常重启的。如果启动不正常出现如下报错:

The server quit without updating PID file......

你需要使用如下命令查看是否还存在mysqld进程


ps -ef|grep mysqld


如果有,可以使用命令:kill -9 mysqld的进程号 结束它,然后重新启动mysqld

我就遇到过上述的情况。当然也有其他原因,这里贴一个其他可能原因的解决办法供参考:https://javawind.net/p141


3、登陆MySQL数据库允许从库获得主库日志


[root@localhost ~]# mysql -u root -p


:第一次登陆是不需要输入root的密码的。
进入后做如下配置:


#给从库放权限
mysql>GRANT FILE ON *.* TO 'root'@'192.168.0.2' IDENTIFIED BY 'root password'; #创建用户
mysql>GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.0.2' IDENTIFIED BY 'root password'; #修改用户权限
mysql>select host ,user ,password from mysql.user; #查看是否修改成功
mysql>FLUSH PRIVILEGES; #刷新权限


4、重启MySQL服务,登录MySQL,查看主库信息


[root@localhost ~]# service mysqld restart #重启mysql服务
[root@localhost ~]# mysql -u root -p #登陆mysql
mysql> show master status; #查看master状态


显示大概如下内容


+------------------+----------+--------------+----------------------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+----------------------------------+-------------------+
| mysql-bin.000006 |    120 | ufind_db | information_schema,performance_schema,mysql | |
+------------------+----------+--------------+----------------------------------+-------------------+
1 row in set (0.00 sec)


:如果执行这个步骤始终为Empty set(0.00 sec)那说明前面的my.cnf没配置对,请回去重新检查配置步骤。



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
16天前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
193 7
|
7月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
|
5月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
355 11
|
6月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu 22.04上配置和安装MySQL
以上就是在Ubuntu 22.04上配置和安装MySQL的步骤。这个过程可能看起来有点复杂,但只要按照步骤一步步来,你会发现其实并不难。记住,任何时候都不要急于求成,耐心是解决问题的关键。
649 30
|
6月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
1460 26
|
8月前
|
SQL 网络协议 关系型数据库
MySQL 主从复制
主从复制是 MySQL 实现数据冗余和高可用性的关键技术。主库通过 binlog 记录操作,从库异步获取并回放这些日志,确保数据一致性。搭建主从复制需满足:多个数据库实例、主库开启 binlog、不同 server_id、创建复制用户、从库恢复主库数据、配置复制信息并开启复制线程。通过 `change master to` 和 `start slave` 命令启动复制,使用 `show slave status` 检查同步状态。常见问题包括 IO 和 SQL 线程故障,可通过重置和重新配置解决。延时原因涉及主库写入延迟、DUMP 线程性能及从库 SQL 线程串行执行等,需优化配置或启用并行处理
209 40
|
8月前
|
关系型数据库 MySQL 数据库
RDS用多了,你还知道MySQL主从复制底层原理和实现方案吗?
随着数据量增长和业务扩展,单个数据库难以满足需求,需调整为集群模式以实现负载均衡和读写分离。MySQL主从复制是常见的高可用架构,通过binlog日志同步数据,确保主从数据一致性。本文详细介绍MySQL主从复制原理及配置步骤,包括一主二从集群的搭建过程,帮助读者实现稳定可靠的数据库高可用架构。
417 9
RDS用多了,你还知道MySQL主从复制底层原理和实现方案吗?
|
7月前
|
SQL 关系型数据库 MySQL
seatunnel配置mysql2hive
本文介绍了SeaTunnel的安装与使用教程,涵盖从安装、配置到数据同步的全过程。主要内容包括: 1. **SeaTunnel安装**:详细描述了下载、解压及配置连接器等步骤。 2. **模拟数据到Hive (fake2hive)**:通过编辑测试脚本,将模拟数据写入Hive表。 3. **MySQL到控制台 (mysql2console)**:创建配置文件并执行命令,将MySQL数据输出到控制台。 4. **MySQL到Hive (mysql2hive)**:创建Hive表,配置并启动同步任务,支持单表和多表同步。
|
6月前
|
存储 Oracle 关系型数据库
MySQL 8.4 配置SSL组复制(八个步骤)
MySQL 8.4 配置SSL组复制(八个步骤)
328 0
|
8月前
|
SQL 存储 关系型数据库
MySQL主从复制 —— 作用、原理、数据一致性,异步复制、半同步复制、组复制
MySQL主从复制 作用、原理—主库线程、I/O线程、SQL线程;主从同步要求,主从延迟原因及解决方案;数据一致性,异步复制、半同步复制、组复制
711 11

热门文章

最新文章

推荐镜像

更多