Linux下Mysql数据库互为主从的配置过程
配置准备:
两台机器: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数据库互为主从的配置过程的更多相关文章
- CentOS下MYSQL数据库的主从备份配置
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/limingzhong198/articl ...
- Linux下MySQL数据库主从同步配置
说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...
- linux下mysql数据库的操作
本文主要针对linux下mysql数据库的安装,以及数据库的创建和简单的数据库操作进行说明. ①.Mysql数据库的安装: 数据库的安装分为源码安装和rpm安装. 当然对于老手来说需要进行一些自定义的 ...
- Linux下MySQL数据库的备份与恢复
Linux下MySQL数据库的备份与恢复 作者:Grey 原文地址: Github 语雀 博客园 基于版本 MySQL5.7 Deepin Linux 15.11 xtrabackup-2.4.18 ...
- 记录--linux下mysql数据库问题
本次主要记录一下linux下mysql数据库的一些问题,也是之前经常用到的知识,这里简单总结一些问题,方便自己以后的回顾.原来一直使用的是阿里云的RDS数据库mysql版,主要是因为上次阿里云做活动可 ...
- Linux下MySQL/MariaDB Galera集群搭建过程【转】
MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...
- [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
from: http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...
- Linux学习之CentOS--CentOS6.4下Mysql数据库的安装与配置【转】
如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--C ...
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...
随机推荐
- piwik docker 安装
备注: 生产环境使用docker-compose 1. 安装docker && docker-compose 此处略过 2. 下载docker-compose 的文件 h ...
- maven docker plugin 常见问题解决
1. maven 项目必须使用小写,不然会一直有500 的错误 500: HTTP 500InternalServerError 2. docker server 连接数超了 Fail ...
- Web 漏洞分析与防御之 CSRF(二)
原文地址:Web 漏洞分析与防御之 CSRF(二) 博客地址:http://www.extlight.com 一.全称 跨站请求伪造(Cross-site Request Forgery) 二.原理 ...
- Linux 解压 压缩 tar
tar 格式:tar [选项] 目录或文件 // 将 test 文件夹打包成 test.tar $ tar cvf test.tar test // 将 home 目录下的 test 文件夹打 ...
- Linux GNU C
Linux 系统上可用的C编译器是GNU C编译器,它建立在自由软件基金会的编程许可证的基础上,因此可以自由发布.GNU C对标准C 进行一系列扩展,以增强标准C的功能. 1.零长度数组GNU C 允 ...
- CentOS7 系统菜单中添加快捷方式
一,在桌面新建一个文件 文件名随意,但必须带有.desktop的后缀名, 以Eclipse为例 vi /usr/share/applications/eclipse.desktop 二,在文件中写入如 ...
- DBA_2PC_PENDING (转)
DBA_2PC_PENDINGOracle会自动处理分布事务,保证分布事务的一致性,所有站点全部提交或全部回滚.一般情况下,处理过程在很短的时间内完成,根本无法察觉到.但是,如果在commit或rol ...
- python学习笔记(十三): 多线程多进程
一.线程&进程 对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程, ...
- spring aop实现拦截接口请求打印日志
在spring配置 1编写自己的注解类 2.编写注解解析类 3.配置spring aop代理 (下面我使用注解 如使用配置 配置切点即可,有两种代理默认jdk代理 设置true 为cglib代理) / ...
- 千万别在UI线程上调用Control.Invoke和Control.BeginInvoke,因为这些是依然阻塞UI线程的,造成界面的假死
原文地址:https://www.cnblogs.com/wangchuang/archive/2013/02/20/2918858.html .c# Invoke和BeginInvoke 区别 Co ...