MySQL主从配置学习笔记

● 本打算买个云数据,为我的新项目做点安全保障。阿里云,腾讯云转了一圈,两个字太贵。不就数据有备份吗,既然这样那我不如自己来做备份。

● 家里有2个树莓派直接把mysql备份到他们上就好了,网上有教程,这就开整。在segmentfault mysql 这么一搜好几篇,按照他们一说的那么一做,当然是不成功的,要是成功了我就不写这篇文章了。ps:他们的教程都是对的。

● 下面就开始配置主从服务器,和网上教程一样,因为我就是看他们的。

1. 主设置(master)

修改mysql配置文件,一般在/etc/mysql/my.conf

server-id=1 //设置mysql的id标识
log-bin=/var/lib/mysql/mysql-bin //log-bin的日志文件,主从备份就是用这个日志记录来实现的
#binlog-do-db=mysql1 #需要备份的数据库名,如果备份多个数据库,重复设置这个选项 即可
#binlog-ignore-db=mysql2 #不需要备份的数据库名,如果备份多个数据库,重复设置这 个选项即可
#log-slave-updates=1 #这个参数当从库又作为其他从库的主库时一定要加上,否则不会给更新的记录写到binglog里二进制文件里
#slave-skip-errors=1 #是跳过错误,继续执行复制操作(可选)

在主mysql中增加2个用来同步的账号

mysql>grant replication slave on *.* to 'sync-1'@'%' identified by '123456';

mysql>grant replication slave on *.* to 'sync-2'@'%' identified by '123456';

重启msql

mysql>show master status; //可以查看主mysql状态

2. 从设置(slave)

修改mysql配置文件 my.conf,两个从节点配置方式都一样。

server-id=2
#log-bin=/var/lib/mysql/mysql-bi //从mysql可以不用设置日志文件

在从mysql中增加命令参数,master_log_file 和master_log_pos 可以在master mysql中用 show master status查询到

mysql>change master to master_host='192.168.145.222',master_user='sync-1',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=308; 

mysql>start slave //启动

mysql>show slave status\G //查询状态,Slave_IO_Running 和Slave_IO_Running都为yes表示成功

3. 设置中的出现的问题

Last_Errno: 1146

设置出从的时候,我的主mysql已经有一张表了,当时创建表的binlog二进制日志就没有记录,从mysql无法写入数据,这时候只有手动导入数据库文件到从mysql中;原因是网上教程都是全新安装的主msql和从mysql,不存在已有数据的问题。

Last_Errno: 1062

Error 'Duplicate entry 'xxxxx' for key 'PRIMARY'' on query

主键冲突,这个问题比较复杂,应该是有表的设置不对,这个问题后来在Stack Overflow上找到了解决办法

# on slave
mysql> stop slave;
mysql> flush privileges;
# on master rest master
mysql> reset master;
# on slave;
mysql> reset slave;
mysql> start slave;

到此这篇关于MySQL主从配置学习笔记的文章就介绍到这了,更多相关MySQL主从配置详解内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker mysql 主从配置详解及实例

    Docker mysql 主从配置 1.首先创建两个文件my-m.cnf(主库配置) .my-s.cnf(从库配置) my-m.cnf 内容如下 # Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU

  • windows下mysql数据库主从配置教程

    windows下配置mysql数据库主从的详细过程,具体内容如下 所用到工具: Mysql.Navicat Premium: 主库设置: 一.设置my.ini 文件: 1.在安装目录下找到my.ini 文件: 默认路径:C:\Program Files\MySQL\MySQL Server 5.0 2.在my.ini 文件中找到[mysqld](#注释自行删除) 添加如下配置 server-id=1#主库和从库需要不一致 log-bin=mysql-bin binlog-do-db=mstest

  • MySQL5.7主从配置实例解析

    MySQL5.7主从配置实现方法,具体内容如下 安装环境: Master:10.211.55.11,Redhat6.5,MySQL5.7.12 Slave: 10.211.55.12,Redhat6.5,MySQL5.7.12 Master的my.cnf配置: Slave的my.cnf配置: 可指定那些database需要复制,哪些不需要复制,如在我的my.cnf配置中注释掉的内容,我默认是全部都复制.修改完my.cnf配置文件后,两台机器都将MySQL服务重启:service mysqld r

  • 基于Linux的mysql主从配置全过程记录

    mysql主从配置 1.准备 主机:192.168.244.128 从机:192.168.244.130 配置主机 2.授权给从机服务器 GRANT REPLICATION SLAVE ON *.* to 'rep1'@'192.168.244.130' identified by 'root@bisnow'; FLUSH PRIVILEGES; 这里表示配置从机登录用户名为 rep1,密码为 123,并且必须从 192.168.248.139这个 地址登录,登录成功之后可以操作任意库中的任意表

  • 利用MySQL主从配置实现读写分离减轻数据库压力

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想.这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服务器群,来分担主数据库的压力.Ok切入今天文章主题,利用MySQL主从配置,实现读写分离,减轻数据库压力.这种

  • MySQL主从配置学习笔记

    ● 本打算买个云数据,为我的新项目做点安全保障.阿里云,腾讯云转了一圈,两个字太贵.不就数据有备份吗,既然这样那我不如自己来做备份. ● 家里有2个树莓派直接把mysql备份到他们上就好了,网上有教程,这就开整.在segmentfault mysql 这么一搜好几篇,按照他们一说的那么一做,当然是不成功的,要是成功了我就不写这篇文章了.ps:他们的教程都是对的. ● 下面就开始配置主从服务器,和网上教程一样,因为我就是看他们的. 1. 主设置(master) 修改mysql配置文件,一般在/et

  • 解读mysql主从配置及其原理分析(Master-Slave)

    1.在主数据库服务器为从服务器添加一个拥有权限访问主库的用户:GRANT REPLICATION SLAVE ON *.* TO ' test'@'%' IDENTIFIED BY 'test'; (%表示允许所有IP,可设置指定从服务器IP)添加用户后:可在从服务器上用mysql -h127.0.0.1 -utest -ptest;  来测试是否有权限访问主数据库 2.在主据库配置文件加上:#master configserver-id       = 1log-bin          =

  • 2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用

    一.pycharm介绍与安装 1.pycharm介绍 PyCharm是一种Python IDE,是Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本控制.其本身可以在线上更新和下载库,但本文未使用,使用的是anaconda进行管理 选择原因 开发项目,管理项目资源方便,可导入各种集成库进行开发,图像处理,界面设计,数据库管理等皆可融为一起,方便实际工程项目开发使用 2.安装教程 1.首先去Pycharm官网,或者直接输入网

  • MySQL主从配置及haproxy和keepalived搭建过程解析

    目录 docker 小知识 创建harpoxy.Keepalive 的容器 下载MySQL MySQL主主配置 172.17.0.2 MySQL 配置 172.17.0.2的配置 执行sql命令 MySQL主从配置 haproxy 配置 新创建centos容器 配置成功之后,就可以在其他服务器通过该服务器地址链接MySQL了 Keepalived 配置 使用haproxy同样的服务器 本篇文章主要介绍如何搭建MySQL主主配置.主从配置.haproxy.keepalived,已经搭建过程中的一些

  • 小记一次mysql主从配置解决方案

    今天研究了个开源项目,数据库是mysql的,其中的脚本数据需要备份,由于本人的机器时mac pro,而且mac下的数据库连接工具都不怎么好用,就想着如何利用windows下的数据库连接工具使用,并做相关备份,另外windows系统下的sqlyog工具还是非常强大的,在此推荐. 因此为了使用sqlyog等windows系统下的连接工具,便开始了一天的折腾. 首先两种思路,其一是利用另外一台宏碁笔记本电脑,直接在其上安装sqlyog使用,通过无线局域网进行连接使用,这种方式太过麻烦,而且来回换电脑很

  • Mysql源码学习笔记 偷窥线程

    感觉代码有些凌乱,注释代码都写的比较随意,好像没有什么统一的规范,不同的文件中代码风格也有差异,可能Mysql经过了很多牛人的手之后,集众牛人之长吧.也可能是我见识比较浅薄,适应了自己的代码风格,井底之蛙了,总之还是怀着敬畏的心情开始咱的源码之旅吧.本人菜鸟,大神轻拍. Mysql可以启动起来了,应该怎么学习呢?总不能从main开始一步一步的看吧,Mysql作为比较底层的大型软件,涉及到数据库实现的方方面面,没有厚实的数据库理论基础和对Mysql各个模块相当的熟悉,从main开始势必会把自己引入

  • mysql数据库备份设置延时备份方法(mysql主从配置)

    一 为什么需要延时备份percona-xtrabackup是一个优秀的用于增量备份的工具.今天我们讲到的延时备份也是使用他们的产品.以前在MySQL AB复制一文中提到了AB复制.我们首先回顾下MySQL复制的相关要点.AB复制又称主从复制,实现的是数据同步.经过以下步骤: 1)主服务器把数据更改记录到二进制日志中,这个操作叫做二进制日志事件: 2)从服务器把主服务器的二进制日志事件拷贝到自己的中继日志(relay log)中: 3)从服务器执行中继日志中的事件,把更改应用到自己的数据上. 在生

随机推荐