前言

在一些大型的软件中,数据库的安全性是特别重要的,如何保证数据库的安全就成了人们关注的焦点。接下来就要说一下如何以备份数据库的方法来提高数据库的安全性,也就是我们常说的mysql主从复制。

安装mysql

首先,要安装mysql,有两种方法,一种安装版msi文件,一种是免安装版zip文件。免安装版需要进行一些配置(如环境变量,my.ini文件等),相对来说,安装版更容易些。我使用的是安装版。安装教程

配置主机my.ini

安装好之后,为了能实现主从复制,还需要配置一下my.ini文件(在根目录下)。

1、使该文件中的路径与实际安装路径吻合。

2、(server_id =任意数)。此为主服务器,配置从服务器的时候只要与之不同即可。

3、打开二进制日志功能。在从机复制主机中,主机必须打开此功能,从机才可读取同步。

(log-bin ="mysql安装路径/log/log-bin/mysql-bin.log"),同时要在该路径的log文件夹中建立log-bin文件夹。

4、开启慢查询日志功能(可选)

(slow_query_log)

慢查询日志位置(slow_query_log_file="mysql安装路径/log/slow-query/mysqld_slow.log"),同3,要在log文件夹中新建slow-query文件夹。

5、从机my.ini文件只需要将(server_id =任意数),不同于主机即可。

注:()内容写到配置文件的[mysqld]内,配置完毕后需重启mysql服务。

net stop mysql//关闭mysql服务

net start mysql//开启mysql服务

主机与从机实现同步

主机

登陆主机mysql在master服务器上建立账户,并授权slave功能

mysql –uroot –p//登录mysql

grant replication slave on *.* to 'repl'@'%' identified by 'repl';//创建从机账户,授权slave

flush privileges;//刷新权限

从机

登陆从机(slave)mysql在master服务器

change master to

master_host="主机ip",

master_user="repl",

master_password="repl";//申请成为主机的slave

start slave;//启动从机服务器

show slave status\G;//检查slave服务器状态

注:同样,配置完成后需重启mysql服务。Slave_IO_Running和Slave_SQL_Running都为yes即为成功。

如果已知主服务器不为新库而从服务器为新库,则需要执行以下操作

flush tables with read lock;//锁定表

mysqldump -uroot -p -A --master-data=1 > /tmp/master_16-09-12.sql//将主机全部数据复制到从机master_16-09-12.sql文件中

unlock tables;//备份完毕后,对数据库解锁。在主服务器建立账户并授权slave之后操作

mysql -uroot -p < master_16-09-12.sql//将之前备份的数据库导入从机库中。从服务器同步前进行

同步问题

问题

在执行最后一步查看从机状态时,如果发生“Last_IO_Error: Got fatal error 1236 from master”错误,说明同步失败,比如主库删除了一个从库没有的库,就会出现此错误。

解决办法

从库执行:stop slave;(停止同步)

主库执行:flush logs;(刷新日志)

主库执行:show master status\G;(查看当前日志位置,效果如下)

可以知道此日志位于884位置。

从库执行:change master to master_log_file=’log-bin.000002’,master_log_pos=884;

然后从库再执行:start slave;(启动同步)

总结

mysql主从配置的过程中可能会出各种各样的问题,这些问题在百度一般都能找到解决办法,在此不一一赘述,如有问题,欢迎留言。

mysql怎么实现的主从复制_【mysql】mysql实现主从复制相关推荐

  1. mysql 自动化运维工具_部署MySQL自动化运维工具inception+archer

    *************************************************************************** 部署MySQL自动化运维工具inception+ ...

  2. mysql 5.7.13安装_安装MySQL 5.7.13

    一.简介: MySQL 5.7主要特性: 1.原生支持Systemd 2.更好的性能:对于多核CPU.固态硬盘.锁有着更好的优化 3.更好的lnnoDB存储引擎 4.更为健壮的复制功能:复制带来了数据 ...

  3. keepalived mysql双主架构图_基于MySQL双主的高可用解决方案理论及实践

    MySQL在互联网应用中已经遍地开花,但是在银行系统中,还在生根发芽的阶段.本文记录的是根据某生产系统实际需求,对数据库高可用方案从需求.各高可用技术特点对比.实施.测试等过程进行整理,完善Mysql ...

  4. mysql和python的关系_八MySQL与Python

    <1>数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. ...

  5. mac下安装mysql 5.7.11卡住_【mysql】Mac下安装mysql5.7 完整步骤,大坑已解决

    最近使用Mac系统,准备搭建一套本地web服务器环境.因为Mac系统自带PHP和apach,但是没有自带mysql,所以要手动去安装mysql,本次安装mysql最新版5.7.17. 1.官网下载 点 ...

  6. MySQL数据库实用教程考核_《MySQL数据库实用教程》郑明秋,蒙连超,赵海侠【pdf】...

    内容简介 郑明秋.蒙连超.赵海侠主编的<MySQL数据库实用教程>是作者在多年的数据库开发实践与教学经验的基础上,根据计算机相关专业的职业岗位能力需求及学生的认知规律倾心组织编写的.本教材 ...

  7. MySQL数据库test连接语句_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!...

    本篇Himi简单介绍一些MySQL数据库的基础操作: 注:mysql 语句对大小写不敏感,语句以分号";"标识语句结束: 1.   首先使用两个简单的查询语句: 查询当前版本:se ...

  8. mysql sa密码是什么_忘记mysql数据库root密码

    找到配置文件my.ini  ,然后将其打开,可以选择用记事本打开,查找的方法如下: 打开后,搜索mysqld关键字 找到后,在mysqld下面添加skip-grant-tables,保存退出. PS: ...

  9. mysql去掉两个最高分_从MySQL中的单列获取最高得分值,从两列获取最高得分值...

    让我们首先创建一个表-mysql> create table DemoTable790 ( Score1 int, Score2 int ); 使用插入命令在表中插入一些记录-mysql> ...

最新文章

  1. 数百个CV实战项目与必备7本书5000页中英文CV书籍免费送啦~
  2. html中js定义数组,javascript数组的定义及操作实例
  3. Spring-AOP概述
  4. 数据结构与算法 / 平衡二叉树(AVL树)
  5. 《呐喊》金句摘抄(一)
  6. mysql一图秒懂秒清晰 - join连接 ,left join左连接 ,right join右连接 ,inner join内连接
  7. postgresql存图片字段类型_C# 使用 PostgreSQL 存储图片二进制数据
  8. 事件对象使用方法大全(源码解析)
  9. C# File流操作
  10. java有几大对象_一个 Java 对象到底有多大?
  11. docker搭建upload-labs
  12. 经典排序算法(二十二)--图书馆排序(Library Sort)
  13. mysql 循环_MySQL存储过程中的3种循环【转载】
  14. Windows10下安装linux(Utunbu)双系统
  15. 信息系统项目管理03——项目立项管理
  16. tp5.0 百度编辑器上传图片到阿里云oss
  17. 身份证号码编码规则及校验位校验算法
  18. 学习前端怎么样?优势有哪些
  19. 快节奏多人在线游戏网络入门系列教程(2):客户端预测与服务器协调
  20. uni发行小程序报错app.json找不到,运行没问题

热门文章

  1. CISCO路由器连接ADSL之PPPoE配置
  2. 亲历 尤金.卡巴斯基开启2009中国行
  3. 行为型设计模式(1)—— 责任链模式(Chain of Responsibility Pattern)
  4. 利用swoole coroutine协程实现redis异步操作
  5. INFO: task java:27465 blocked for more than 120 seconds不一定是cache太大的问题
  6. nyoj 269 VF 动规
  7. 面向云的.net core开发框架
  8. 【转】linux时钟jiffies及其相关
  9. linux远程复制文件命令小总结
  10. 前端折线图中背景,Chart.js折线图设置背景颜色