mysql数据库主从配置及还原

主数据库服务器的配置master 51

做主从配置要保持两个数据库中的库和表一致

1 做用户授权
2 启用binlog日志
3 查看正在使用的binlog日志文件
1、
mysql> grant replication slave on . 授权.(所有的库和表)
-> to
-> [email protected]"%" 可用%代表所有,也可指定具体ip地址
-> identified by "123456"; 指定密码
2、
]#vim /etc/my.cnf 修改配置文件
[mysqld]
server_id=51 指定服务器主机名
log-bin=master51
binlog-format="mixed"
:wq
]#systemctl restart mysqld 重启mysqld服务
]#ls /var/lib/mysql/master51 查看/var/lib/mysql/是否有master51开头的新文件生成
3、
mysql> show master status; 查看主服务器状态,有结果即成功

从数据库服务器的配置slave 52
1 验证主库授权用户
2 指定server_id
3 指定主库信息
4 查看配置

1、
]#mysql -h192.168.4.51 -urepluser -p123456 验证主库授权,从主机52上登陆主机51的数据库

2、
]#vim /etc/my.cnf 修改配置文件
[mysqld]
server_id=52
:wq
]# systemctl restart mysqld 重启服务

3、
]# mysql -uroot -p123456
mysql> show slave status\G; 查看从配置信息

mysql> change master to
-> master_host="192.168.4.51", ip地址
-> master_user="repluser", 用户名
-> master_password="123456", 密码
-> master_log_file="master51.000001", binlog日志
-> master_log_pos=154; 偏移量

mysql> start slave; 启动slave进程

4、
mysql> show slave status\G; 查看从服务器的状态,IO/SQL线程状态为yes即为成功
Slave_IO_Running: Yes IO线程
Slave_SQL_Running: Yes SQL线程

验证主从同步配置
在主库服务器上创建新库 新表 插入记录 在从库有同样数据。

主从同步工作原理
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

排错:
IO线程:把主库binlog日志的sql命令记录本机的中继日志文件里
IO线程出错原因:指定主库信息 错误、firwalld 、selinux
Last_IO_Error: 查看报错原因

修复IO线程?
mysql> stop slave ;
mysql> change master to 选项=值;
mysql> start slave;

SQL线程:执行中继日志文件里的sql命令 把数据写进本机库里
SQL线程出错原因:执行中继日志文件里的sql命令用到库或表在本机不存在
Last_SQL_Error: 查看报错原因

修复SQL线程 使其有主库上的库或表 stop slave ; start slave;

还原:
把数据库服务器192.168.4.X 还原为独立的数据库服务器。

要先到/var/lib/mysql 目录下
]# rm -rf master.info 删除主从配置的文件
rm -rf relay-log.info
rm -rf 主机名-relay-bin.*
将vim /etc/my.cnf配置文件中设置的条件注释掉
]# systemctl restart mysqld 重启服务
mysql> show slave status\G; 查看状态

原文地址:http://blog.51cto.com/13587396/2074427

时间: 2024-11-13 17:24:55

mysql数据库主从配置及还原的相关文章

Linux系统中MySQL数据库“主从”配置

MySQL数据库"主从"配置 一.配置概述: 在Linux操作系统中配置MySQL数据库的主从复制是很重要的,为什么这样说呢!是因为在你搭建一个服务器以后你配置了2台数据库,一主一从.2台数据库配置好以后,当其中一台数据库被攻击以后,你被攻击的这台数据库的数据会被自动的备份到另一台数据库中去.即使被攻击了数据也不会丢失.配置主从就是为了让web网站或其他的软件可以正常运转,确保数据的存在. 二.配置步骤: <配置具备的条件> 1.需要在虚拟机上安装好两台主机,同时安装好同一

[转帖]mysql数据库主从配置

mysql数据库主从配置 https://www.toutiao.com/i6680489302947791371/ 多做实验 其实挺简单的 很多东西 要提高自信 去折腾. 架构与我 2019-04-16 21:50:24 在一篇文章<离线安装mysql数据库>,讲解了离线安装mysql数据库的过程,本文将讲解mysql数据库的主从配置方法.mysql数据库进行主从配置后,可以实现数据库的备份.同时应用也可以实现读写分离,提高应用的并发量. 1.主从原理 从<高性能mysql>书中

mysql数据库主从配置

MySQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维 护日志文件的一个索引以跟踪日志循环.当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收从那 时起发生的任何更新,然后封锁并等待主服务器通知下一次更新. 为什么使用主从复制? 1.主服务器/从服务器设置增加了健壮性.主服务器出现问题时,你可以切换到从服务器作为备份. 2.通过在主服务器和从服务器之间切分处理

mysql数据库主从配置的几种方式

摘录地址:http://www.cnblogs.com/stacks/p/7171648.html 1.主从复制集群: 主服务器负责数据写入,从服务器负责读操作. 主服务器所有的操作都写入二进制日志,从服务器开启中继日志和两个线程: (1)sql_thread:负责从中继日志读取内容,然后replay到数据库中: (2)io_thread:负责连接主服务器,把主服务器的二进制日志复制到自己的中继日志: 2.双主复制集群配置 主服务器和从服务器同时开启二进制日志和中继日志,数据可以写入任何一个服务

linux下mysql数据库主从同步配置

说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备篇: 说明:在两台MySQL服务器192.168.21.128和192.168.21.129上分别进行如下操作 备注: 作为主从服务器的MySQL版本建议使用同一版本! 或者必须保证主服务器的MySQL版本要高于从服务器的MySQL版本! 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接

mysql数据库主从同步配置教程--数据库同步

背景: 最近有一个mysql数据库同步的需求,我用了mysql主从同步的方法来实现.下面把步骤记录一下. 环境和拓扑 操作系统:Centos6.6 X64 mysql版本:5.1.73 Master: 10.6.1.210 Slave:  10.6.1.211 需求: 实现Master上test库同步到Slave上,但是禁止同步该库下的AA表 1.配置Master上的my.cnf #vim  /etc/my.cnf 添加内容到[mysqld]下,设定只同步test 数据库: [mysqld] l

mysql_multi方式配置Mysql数据库主从

如上面所说:http://www.cnblogs.com/super-d2/p/3851957.html 安装好mysql; 授予用于同步用的用户同步数据的权限 grant replication slave on *.* to 'slave3306'@'127.0.0.1' identified by '3306'; flush privileges; 此时查看主从状态,如下 show master status; 配置多数据库: 内容如下: [mysqld_multi] mysqld    

mysql数据库主从同步

环境: Mater:   CentOS7.1  5.5.52-MariaDB  192.168.108.133 Slave:   CentOS7.1  5.5.52-MariaDB  192.168.108.140 1.导出主服务数据,将主备初始数据同步 master: //从master上导出需要同步的数据库信息 mysqldump -u*** -p*** --database test > test.sql //将master上的备份信息传输到slave上 scp /root/test.sq

谈谈Mysql数据库主从同步延迟分析及解决方案

一.MySQL的数据库主从复制原理 MySQL主从复制实际上基于二进制日志,原理可以用一张图来表示: 分为四步走: 1. 主库对所有DDL和DML产生的日志写进binlog: 2. 主库生成一个 log dump 线程,用来给从库I/O线程读取binlog: 3. 从库的I/O Thread去请求主库的binlog,并将得到的binlog日志写到relay log文件中: 4. 从库的SQL Thread会读取relay log文件中的日志解析成具体操作,将主库的DDL和DML操作事件重放. 关