在线上应用运行的过程中,可能会由于某些原因mysql数据库挂掉了,造成数据丢失或影响线上应用的使用。这时候定时对数据库备份就显得尤为重要。这里主要是介绍主从数据库配置,当主库不能正常使用时,可迅速切换到备库,以保证正常运行。
服务器环境:
主服务器:192.168.200.24 操作系统:centos 数据库版本:5.0.95 master
从服务器:192.168.200.247 操作系统:centos 数据库版本:5.1.73 slave
配置的话最好数据库版本一致。 查看mysql版本:mysql -V
步骤:
1.创建同步账户,让两个mysql可以可以互相访问
在24上进入mysql执行命令: GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.200.247' IDENTIFIED BY '123456' WITH GRANT OPTION; (通过账号root密码123456连接247上的库,权限为所有)
在247上进入mysql执行命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.200.24' IDENTIFIED BY '123456' WITH GRANT OPTION;
执行 flush privileges;(可使以上执行的grant立即生效)
创建完后,就可以正常通过mysql命令连接到对应服务器上的mysql库了。如果连接不上,检查下防火墙是否已关闭。
2.修改两台mysql的配置文件
24上在[mysqld]中添加
log-bin=mysql-bin
server-id=1 必须指定,且不能重复
binlog-ignore-db=mysql 不需要同步的库
binlog-ignore-db=information_schema 不需要同步的库
replicate-do-db=meizi4 需要同步的库,若有多个可写多行
247上在[mysqld]中添加
log_bin = mysql-bin
server-id = 2 必须指定,且不能重复
replicate-do-db =meizi4 需要同步的库,若有多个可写多行
配置完后要重新启动两个mysql数据库
启动方法:service mysqld start 或mysqld_safe &
停止mysql:service mysqld stop
若mysql启动报错,可查看mysql日志,错误日志可在my.cnf中配置log-error,没有配置则在默认安装目录的hostname.err中
3.得到master的状态信息:show master status; 记录下File和Position 的值,4将会用到。File=mysql-bin.000002 Position =98
4.登陆247的mysql,执行命令:change master to master_host='192.168.200.24',master_user='root',master_password='123456',master_port=3307,master_log_file='mysql-bin.000002 ',master_log_pos=98;
5.查看数据库状态
show slave status\G;
察看结果字段Slave_IO_State,一般应该为"Waiting for master to send event";此时Slave_IO_Running和Slave_SQL_Running应该为true,
如果不是,在slave端执行: stop slave; start slave; 重启复制进程。
重启slave的时候出现报错:The server is not configured as slave; fix in config file or with CHANGE MASTER TO
原因:slave的server-id配置有问题 查看 show variables like 'ser%'; 结果显示为0.明明配置的2 显然之前配置的未生效。server-id需配置到[mysqld]下
Replicate_Do_DB为要复制的数据库,和my.cnf配置的相同。
相关推荐
MySql主从数据库搭建,Linux Mysql数据库安装 ,通用主从备份策略,Mysql 读写分离数据端配置
本压缩文件包含两个pdf文件,详细讲解了如何在Linux系统中安装Docker、如何在Docker中安装和配置MySQL主数据库、如何在Docker中安装和配置MySQL从数据库以及如何验证主从数据库搭建正常,视频教程:...
Mysql主从数据库搭建 原理与详细步骤,留备自用,按步骤搭建即可,主从数据库的配置,包含出现问题的两种解决方式。
mysql搭建主从热备操作流程,平时整理分享给大家,希望大家少走弯路
docker-compose搭建mysql主从环境.md
搭建MySQL数据库主从库平台实现数据备份.pdf
本文实例讲述了MySQL主从数据库搭建方法。分享给大家供大家参考,具体如下: 主从服务器是mysql实时数据同步备份的一个非常好的方案了,现在各大中小型网都都会使用mysql数据库主从服务器功能来对网站数据库进行异步...
使用与Linux版本centos7以及7以上版本,就是傻瓜试安装,每一条命令都有详细解释和说明,关键技术,数据挂载目录,主从复制模式的三种模式,binlog的三种格式的解释说明
Sharding-JDBC教程:Mysql数据库主从搭建
搭建主从库实现Mysql数据库平台的数据备份.pdf
mysql5.6安装主从配置,包含详细的主从配置,mysql数据库的编码格式
如题,详细的讲述了mysql的主从数据库的搭建和使用,以及分区设置
学校分发资料。
MySQL数据库支持数据库的主从复制功能...众多国内外大型网站架构体系中,均采用了MySQL的主从数据库配置来实现查询负载、数据库热备等功能。本人在实际的Web项目中也涉及到这一需求,在此将如何配置实现做个简单小结。
在Windows下通过MySql提供的主从复制技术实现数据库主从同步机制,文档中详细记录我在项目中配置的实践过程
一、Mysql5.7的版本优势;...五、案例:搭建Mysql数据库集群(主从复制--二进制日志文件方式); 六、案例:搭建Mysql数据库集群(主从复制--GTID方式); 七、案例:实现Mysql主从复制+读写分离;
mysql主从复制概述: 复制解决的基本问题是让一台服务器的数据和另外的服务器保持同步。 一台主服务器可以连接多台从服务器,并且从服务器也可以反过来作主服务器。 主服务器和从服务器可以位于不同的网络拓扑中,还...
目的:定时监控MySQL主从数据库是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态 1、创建脚本文件 vi /home/crontab/check_mysql_slave.sh #编辑,添加下面代码 #!/bin/sh # check_mysql_slave...
Mysql主从集群搭建方法,以及基于spring boot注解式数据库读写分离代码示例