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

MySql(18)——Linux MySQL主从配置相关推荐

  1. MySQL编译安装及主从配置

    说明:本实验配置以Cenos6.6和MySQL5.6.35为例 一.编译安装MySQL 1.避免在安装过程中出现问题,先安装系统依赖包 yum install apr autoconf automak ...

  2. MYSQL在centos上主从配置

    主从配置理论传送门:http://blog.csdn.net/hguisu/article/details/7325124 具体配置方案: 一:MYSQL主从配置   1.1 部署环境 主(maste ...

  3. mysql 5.5数据库主从配置步骤详解

    上次给大家介绍了mysql 5.1主从搭建配置教程,这次我们来实现mysql 5.5的主从复制,其实大体上配置是差不多的,只有点细微的差别. 系统:centos 5.x 需要的软件包:mysql-5. ...

  4. Mac单机多实例Mysql(8.0.16)主从配置

    一 .MySQL多实例部署方式 1)使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便: 2)通过官方自带的mysqld_multi使用单独的配置文件 ...

  5. mysql 5.7.20主从配置_mysql-5.7.20源码安装 + 多实例 + 主从复制

    版本:MySQL-5.7.20 1.更换yum源 wget -O /etc/yum.repos.d/eprl.repo http://mirrors.aliyun.com/repo/epel-6.re ...

  6. linux redis 主从配置,redis集群(主从配置)

    redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串). list(链表).set(集合)和zset(有序集合).这些数据 ...

  7. mysql读写分离,主从配置

    2019独角兽企业重金招聘Python工程师标准>>> 一个完整的mysql读写分离环境包括以下几个部分: 应用程序client database proxy database集群 ...

  8. mysql主从复制过滤_mysql主从配置及复制过滤

    前提:为了方便搭建,我直接使用了lnmp搭建环境,mysql版本使用5.6版本,数据库为test(在主服务器上创建数据库后备份拉到从服务器) 部署LNMP ( 安装详情请见:https://lnmp. ...

  9. mysql 5.7.20主从配置_mysql5.7.20免安装版配置方法图文教程

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  10. mysql主原理_mysql 主从配置实现原理

    MySQL 本身通过 show slave status 提供了 Seconds_Behind_Master ,用于衡量主备之间的复制延迟,但是 今天碰到了一个场景,发现 Seconds_Behind ...

最新文章

  1. Rowhammer漏洞致“比特位翻转”,如何解决?
  2. python库——h5py入门讲解
  3. 外部链接linux下的mysql,Linux下mysql实现远程链接
  4. windows10下载
  5. 整理一篇Linux drm显示系统的文章
  6. 离线安装python环境
  7. 数据清洗工具OpenRefine
  8. java 远程调试 端口_java – 远程调试:在端口8787上没有连接到OpenJDK 11上的Wildfly 14...
  9. sqlserver日期函数 dateadd,datediff ,datepart ,datename,convert
  10. PHP 抽象工厂模式(Kit模式)
  11. WinDbg蓝屏分析入门
  12. 如何用U盘安装Windows操作系统
  13. ajax上传图片springmvc,springmvc ajax上传图片(jquery)
  14. [辅助工具] 【羽睿】Proxmark3 Easy Gui 4.0 5.0 5.1加强版 PM3GUI_X稳定优化版
  15. windows 2012下安装.NET框架时出现组件的文件跟组件清单中的验证信息不匹配,无法安装
  16. 中国保险业过去五年基础数据分析
  17. 采购月度业绩贡献度报表
  18. Pytorch应用训练好的模型
  19. js导出科学计数法_怎么让js不自动转换成科学计数法
  20. Windows11 Microsoft store打不开

热门文章

  1. mysql Error Code: 1005(errorno:121)解决
  2. TensorFlow:实战Google深度学习框架(二)实现简单神经网络
  3. 如何找到安全的贷款机构
  4. 几张旧照片,用傻瓜拍的,翻出来凑数 (续)
  5. 玛丽莲·梦露从未公开的照片
  6. 状态机-重叠序列检测
  7. VHDL程序基本构建
  8. GNU编译优化级别-O -O1 -O2 -O3
  9. python邮件转发_把Gmail邮件转发到gtalk的Python方法
  10. 利用python画分形图_使用 Python 绘制 Mandelbrot 分形图