MySql(18)——Linux MySQL主从配置

MySQL 主从配置

Author:xushuyi

参照技术:http://www.cnblogs.com/kevingrace/p/6256603.html

 

1. 主从数据库

1、主库:192.168.56.100

2、从库:192.168.56.102

3、创建主从数据库一定要保证主从数据库字符集编码的一致性,否则主从同步数据会发生异常。

  因主从数据字符集编码不一致,常见的问题如下:

  1. Column 1 of table 'xxx' cannot be converted from type 'varchar(33)' to type 'varchar(11)'

    解决方案:http://www.cnblogs.com/wzbz/p/6825761.html

  2. 一定要调整主从数据库字符集编码一致性

    

 

4、创建表时一定要加上字符集编码 utf8 设置,避免主从数据同步异常问题,其实遇到问题类同 3

  1、修改数据表字符集:ALTER TABLE transfervouchers CONVERT TO CHARACTER SET utf8;

  2、创建表 设置字符集

    

create table jpgxhealthvalrecordhistory
(ID                   bigint not null auto_increment comment '主键ID',activityid           bigint comment '活动ID',userid               bigint comment '用户ID',activitylotteryid    bigint comment '活动抽奖ID',activityawardid      bigint comment '活动奖品ID',contributehealthvalue bigint comment '已贡献健康值',createtime           timestamp comment '创建时间',modifytime           timestamp comment '修改时间',primary key (ID)
)CHARACTER SET utf8;
alter table jpgxhealthvalrecordhistory comment '奖品贡献健康值历史记录表';

 

4、主库一旦重启,主库对应二进制文件发生改变,从库需要重新指向主库新的二进制文件

master_host='192.168.56.100',master_user='slave',master_password='Sino@slave12345',  master_log_file='mysql-bin.000002',master_log_pos=400;

 

2.主库配置:

#vi /etc/my.cnf

[mysqld]

    log-bin=mysql-bin    //[必须]启用二进制日志

    server-id=1100   //[必须]服务器唯一ID,默认是1,一般取IP最后一段

  binlog-do-db=imove  //需要同步的数据库。如果是多个同步库,就以此格式另写几行即可。如果不指明对某个具体库同步,就去掉此行,表示同步所有库(除了ignore忽略的库)

  binlog-ignore-db=sys  //#不同步mysql系统数据库。如果是多个不同步库,就以此格式另写几行;也可以在一行,中间逗号隔开

 

 

登录主库MySQL

#cd /usr/local/mysql

#./bin/mysql -u root -p

 

 

mysql> create user slave identified by 'Sino@slave12345';

mysql> grant all on *.* to slave@'192.168.56.102' identified by 'Sino@slave12345';

mysql> exit;

 

重启主库MySQL

#/etc/init.d/mysql restart;

#show master status;

 

 

3.从库配置:

vi /etc/my.cnf

log-bin=mysql-bin      //[必须]启用二进制日志

server-id=102      //[必须]服务器唯一ID,默认是1,一般取IP最后一段

replicate-do-db=imove //需要同步的数据库名。如果不指明同步哪些库,就去掉这行,表示所有库的同步(除了ignore忽略的库)

replicate-ignore-db=sys  //不同步mysql系统数据库

slave-skip-errors=all     //跳过所有的错误错误,继续执行复制操作; 这个配置最好不要加上,遇到问题就要解决问题,不能直接跳过

 

 

 

重启主库MySQL

#/etc/init.d/mysql restart;

之后进入从库MySQL 修改master配置:

登录主库MySQL

#cd /usr/local/mysql

#./bin/mysql -u root -p

mysql> change master to master_host='192.168.56.100',master_user='slave',master_password='Sino@slave12345',      master_log_file='mysql-bin.000002',master_log_pos=400;

查看从库master是否配置成功:

 mysql> show slave status\G;

 

======------------------------------可能使用的命令:在更改 master 的时候------------============

STOP SLAVE IO_THREAD FOR CHANNEL '';

START SLAVE IO_THREAD FOR CHANNEL '';

 

 

 

上图可以看到: Slave_IO_running: NO

Salve_SQL_Running: NO

需要对slave mysql 进行设置:

先关闭slave

mysql> stop slave

之后进行设置:

mysql> set global sql_slave_skip_counter =1 ;

之后再开启:

mysql> start slave

mysql> show slave status\G

 

 

OK.

 

异常情况:

 

 

这个异常情况说明,从库同步主库二进制文件的位置不正确。

解决:http://www.linuxidc.com/Linux/2012-02/54729.htm

binlog二进制文件转换为txt文件

 

 

说明从库同步主库的二进制文件应该从 123 行开始。

登录从库MySQL

mysql> stop slave;

mysql> change master to master_log_file='mysql-bin.000002',master_log_pos=123;

mysql> start slave;

mysql> show slave status\G;

 

 

4.验证主从同步

之后登录 master mysql, 进行如下操作:

create database hi_db;

use hi_db;

create table hi_tb(id int(3),name char(10));

insert into hi_tb values(001,'bobu');

show databases;

 

 

 

之后登录slave mysql

show databases;

可以看到:

 

 

转载于:https://www.cnblogs.com/xushuyi/articles/7699024.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

元器件 失效分析 过程介绍

硬件产品在使用过程中,常常会出现功能失效的情况。排除装配异常的话,功能失效一般是电路可能出现故障,具体可能是某个元器件损坏了。需要研发及时分析定位故障原因及时改善排除故障,尤其是在试产阶段,显得十分重要&…

OWI

2019独角兽企业重金招聘Python工程师标准>>> V$EVENT_NAME V$EVENT_NAME displays information about wait events. ColumnDatatypeDescriptionEVENT#NUMBERNumber of the wait eventEVENT_IDNUMBERIdentifier of the wait eventNAMEVARCHAR2(64)Name of the wait e…

201521123110《Java程序设计》第5周学习总结

1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点。 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误。并分析输出结果。不能编译通过,因为System.out.println…

电源适配器上各符号的意义都清楚吗?

现在家里的电子产品是越来越多了,比如:手机、平板、笔记本、智能电视、智能音箱、路由器、剃须刀等;机身或者充电器上都有很多符号标志。 有没有好奇过或者被小孩询问过,这些符号标志都是什么意思呢?只有读懂这些符号…

苏宁海量服务器自动化配置运维实践

运维的演进 人力运维阶段 在IT产业的早期,服务器运维是通过各种Ad Hoc命令或者Shell脚本来完成基础设施的自动化工作,这种方式对于简单,一次性的工作很方便,但是对于复杂和长期的项目,后期的脚本维护非常麻烦。自动化工…

腾讯面试经验2

时间:2017年10月16日11:30面试。 地点:重庆万达艾美酒店。 信息:女,本科应届生,面试后台开发岗位。 在深圳的面试已经全部结束了,偶然间听朋友说重庆、长沙等场地的面试还在进行中,只要修改面试…

简易有效Api接口防攻击策略

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 简单…

被称为海淀妈妈四大神器之一的倾听者K3 硬件拆解

暑假期间发现很多博主都在推荐倾听者K3,被海淀妈妈们称为四大神器之一, 虽然暂没听说其他三大神器是什么,作为教育硬件爱好者还是决定先整个回来拆拆看。 在京东上搜到倾听者K3版本一共有三种颜色,分别是蓝色(悟空蓝&…

dds设计信号发生器

高一 150206101 Dds数字信号发生器设计方案 DDS的工作原理框图如下 在微机内,若插入一块D/A转换卡,然后编制一段小程序,如连续进行加一运算到一定值,然后连续进行减一 运算回到原值,在反复运行该程序,则微机…

Maven--资源文件resource的问题

2019独角兽企业重金招聘Python工程师标准>>> Maven项目的目录有: src/java/main src/java/resource src/test/main src/test/resource 有的时候在resource目录下添加文件却不能加载出来,解决的办法是从把添加的资源文件添加到properties---&g…

以太网自动协商原理

自协商基本原理 自动协商模式是端口根据另一端设备的连接速度和双工模式,自动把它的速度调节到最高的公共水平,即线路两端能具有的最快速度和双工模式。 自协商功能允许一个网络设备能够将自己所支持的工作模式信息传达给网络上的对端,并接受…

mac与phy如何实现网络自适应

这两天修改网卡驱动以实现10/100/1000M自适应,因此研究了下phy芯片和emac驱动如何兼容10/100/1000M网络环境,记录在此。 网络中设备端数据链路层由mac芯片和phy芯片组成,phy芯片根据外部网络环境完成自动协商以及配置,驱动中根据p…

LVM逻辑卷详解及创建

我们先来看一下这张图片:PV: 底层的一个硬盘设备,可以是一个分区,也可能是一个RAID。我们可以把这个块设备创建成一个物理卷格式,即一个PV。VG: 将一个或多个PV提供的存储空间在一个更低的单位上划分成一个个独立的存储单元&#…

ITU-RBT.656视频标准接口

601是SDTV的数据结构 656是SDTV的interface 709是HDTV的数据结构 1120是HDTV的interface ITU-R BT.601是演播室数字电视编码参数标准,而ITU-R BT.656 则是ITU-R BT.601附件A中的数字接口标准, 用于主要数字视频设备(包括芯片)之间采用27Mhzs并口或243Mb…

C语言博客作业03--函数

1.本章学习总结 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 本周学习了函数,其实,函数于之前学习的三大控制结构是密不可分的,而函数又有其特殊的地方,例如:函数的声明、函数的调用等等。我们之前编写…

Insta360:从软到硬,一年做出360°全景相机,中间填了多少坑?

摘要刘靖康在大学就开始创业。在大二的时候他曾经去腾讯实习,然后又去了“超级课程表”这个团队实习半年,2013 年 9 月回到南京创业,一开始的产品叫“名校直播”,是一款围绕院校名师讲座所做的视频直播产品。 不久前,一…

No.10 awk、变量、运算符、if多分支

awk、变量、运算符、if多分支 awk语法 ~ awk -F: {print $3,$4} /etc/passwd //-F指定:分隔符 默认以空格作为分隔符 ~ awk -F: {print &0,NF} //$0打印全部,NF有几段内容 ~ awk -F: {print $NF} /etc/passwd //$NF打印最后一段内容 ~ awk -F: {print NR} /etc/passwd…

排序: 选择排序

1. 基本原理 将待排序的元素分为已排序(初始为空)和未排序两组,依次将未排序的元素中值最小的元素放入已排序的组中。 直接选择排序简单直观,但性能略差;堆排序是一种较高效的选择排序方法,但实现起来略微复杂。 2. 直接选择排序 …

全景摄像技术大有可为

网络摄像机发展至今,已经基本满足了“高清”、“日夜监控”、“远距离监控”的需求,但是 随着细分市场的发展,超广角摄像机需求逐渐凸显出来。主要应用在会议室、办公室、大厅/大堂、商场、仓库、车间等大面积开阔的区域,解决原来…

java文件传输之文件编码和File类的使用

---恢复内容开始--- 我们知道,在用户端和服务端之间存在一个数据传输的问题,例如下载个电影、上传个照片、发一条讯息。在这里我们 就说一下文件的传输。 1.文件编码 相信大家小时候玩过积木(没玩过也看过吧),看到一个…