配置准备:

两台机器:A(193.168.10.101)  B(193.168.10.102)

mysql大版本需要一致,小版本可忽略

配置过程:

A(193.168.10.101) 机器配置:

执行命令:vi /etc/my.cnf后在mysqlid下添加如下内容:

log-bin=/var/lib/mysql/mysql-bin

server-id=101

auto_increment_offset=1
auto_increment_increment=2 skip-slave-start
log-slave-updates=true
binlog-do-db=db_a
binlog-do-db=db_b
binlog-do-db=db_c
binlog-ignore-db=mysql

参数说明:

log-bin=mysql-bin  #开启二进制日志

server-id=101  #2到232–1之间的一个正整数值,唯一,默认是1,建议使用ip的最后一段

auto_increment_offset=1  #自增id起始值为1

auto_increment_increment=2  #自增基数为2,保证id为奇数

skip-slave-start  #手动启动同步服务,避免突然宕机导致的数据日志不同步

log-slave-updates=true  #互为主从必要
binlog-do-db  #需要复制的数据库
binlog-ignore-db #不需要复制的数据库

保存修改完成之后执行命令service mysqld restart重启mysql数据库:

service mysqld restart

给主机B赋予mysql权限

执行命令:mysql -u用户名-p密码登录mysql数据库后执行以下命令:

grant all on *.* to 'slave'@193.168.10.102 identified by '123456'; 
或者  grant replication slave on *.* to 'slave'@193.168.10.102 identified by '123456'; (权限不同)

给主机B赋予权限,这里@前面的slave是登录名,可以自己定义,最后面的123456是登录密码。

初始化bin-log日志

执行mysql命令reset master;清空所有的bin-log日志,然后执行mysql命令show master status;查看最新的bin日志。

reset master;
show master status;

上图中的mysql-bin.000001就是最新的日志文件名称,Position是bin日志结束的位置,这两个值会在主机B中使用。

到此主机A配置完毕,切记为了保持主从的一致性,先不要操作主机A mysql数据库,待主机B配置完成且设置同步后才可以进行操作。

B(193.168.10.102) 机器配置:

执行命令:vi /etc/my.cnf后在mysqlid下添加如下内容:

log-bin=/var/lib/mysql/mysql-bin

server-id=102

auto_increment_offset=2
auto_increment_increment=2 skip-slave-start
log-slave-updates=true

注意这里的server-id和offset值和A机器上的不同。

保存修改完成之后执行命令service mysqld restart重启mysql数据库:

service mysqld restart

给主机A赋予mysql权限

执行命令:mysql -u用户名-p密码登录mysql数据库后执行以下命令:

grant all on *.* to 'slave'@193.168.10.101 identified by '123456'; 

注意这里是101

初始化bin-log日志

执行mysql命令reset master;清空所有的bin-log日志,然后执行mysql命令show master status;查看最新的bin日志。

reset master;
show master status;

同步配置:

在主机A上重新登录mysql后执行:

change master to master_host='193.168.10.102',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;

这里的master_host是指主机B的ip地址,master_uesr是执行同步操作的用户名,master_password是执行同步的用户密码,master_log_file是主机B的bin-log日志,master_log_pos是从bin-log日志开始同步的位置。

然后开启同步  执行:

start slave;

查看是否成功:

show slave status\G;

如图所示 表示成功。

在主机B上重新登录mysql执行:

change master to master_host='193.168.10.101',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;
start slave;
show slave status\G;

以上互为主从配置完成。可自行在其中一个mysql中创建数据库创建表,然后查看另外一个mysql中是否已经同步。

Linux下Mysql数据库互为主从的配置过程的更多相关文章

  1. CentOS下MYSQL数据库的主从备份配置

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/limingzhong198/articl ...

  2. Linux下MySQL数据库主从同步配置

    说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...

  3. linux下mysql数据库的操作

    本文主要针对linux下mysql数据库的安装,以及数据库的创建和简单的数据库操作进行说明. ①.Mysql数据库的安装: 数据库的安装分为源码安装和rpm安装. 当然对于老手来说需要进行一些自定义的 ...

  4. Linux下MySQL数据库的备份与恢复

    Linux下MySQL数据库的备份与恢复 作者:Grey 原文地址: Github 语雀 博客园 基于版本 MySQL5.7 Deepin Linux 15.11 xtrabackup-2.4.18 ...

  5. 记录--linux下mysql数据库问题

    本次主要记录一下linux下mysql数据库的一些问题,也是之前经常用到的知识,这里简单总结一些问题,方便自己以后的回顾.原来一直使用的是阿里云的RDS数据库mysql版,主要是因为上次阿里云做活动可 ...

  6. Linux下MySQL/MariaDB Galera集群搭建过程【转】

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  7. [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    from:  http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...

  8. Linux学习之CentOS--CentOS6.4下Mysql数据库的安装与配置【转】

      如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--C ...

  9. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...

随机推荐

  1. java 线程池--ExecutorService

    一 Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程. new ...

  2. Mybatis新增返回主键的两种方法 (mysql)

    1.自增:LAST_INSERT_ID (自动返回最后一个INSERT或 UPDATE 问询为 AUTO_INCREMENT列设置的第一个 发生的值.) <!-- mysql的自增ID :LAS ...

  3. Oracle 之 AIO (异步io)

    Linux 异步 I/O (AIO)是 Linux 内核中提供的一个增强的功能.它是Linux 2.6 版本内核的一个标准特性,AIO 背后的基本思想是允许进程发起很多 I/O 操作,而不用阻塞或等 ...

  4. RK3288 添加USB转虚拟串口设备

    在系统开启并有日志打印的前提下,插入USB设备,就会打印USB设备和虚拟串口信息. 打印信息如下: 供应商ID(VID):idVendor=1234,产品ID(PID): idProduct=5678 ...

  5. RK3288 error: undefined reference to 'LOGD'

    HAL层和JNI层中的打印都必须包含下面的宏和头文件. 比如:LOGD.LOGE等等. #define LOG_TAG "TEST_LED" #include <utils/ ...

  6. dos命令行连接操作ORACLE数据库

    C:\Adminstrator> sqlplus "/as sysdba" 查看是否连接到数据库 SQL> select status from v$instance; ...

  7. 引用 LPSTR、LPCSTR、LPTSTR、LPCTSTR、LPWSTR及LPCWSTR的意义及区别

    1.ANSI(即MBCS):为多字节字符集,它是不定长表示世界文字的编码方式.ANSI表示英文字母时就和ASCII一样,但表示其他文字时就需要用多字节.   2.Unicode:用两个字节表示一个字符 ...

  8. DS03--栈和队列

    一.学习总结 1 关键词: 逻辑结构,存储结构,抽象数据类型,顺序存储类型,链式存储类型,线性表应用 栈和队列 2 使用思维导图将这些关键词组织起来. 二.PTA实验作业 2.1题目1:符号配对 请编 ...

  9. rtmp直播推流(一)--flv格式解析与封装

    flv文件格式分析,可参看RTMP中FLV流到标准h264.aac的转换,该文章写的很清晰. flv封装格式解析,可参看视音频数据处理入门:FLV封装格式解析,文章图文并貌,很直观. flv文件封装, ...

  10. AndroidUI 控件命名格式

    TextView ->txt EditText->edit Button ->btn