1. 选择两台机器(这里选的centos6.5 final),安装相同版本的mysql

yum install mysql ;
yum install mysql-server;

2. 启动mysql

service mysqld start

3. 登录两个mysql,执行如下命令

GRANT REPLICATION SLAVE,REPLICATION CLIENT on *.* to repl@'mysql机器IP' identified by 'password';

复制用户并授权

4. 配置主mysql的/etc/my.cnf

[client]
port = 3306
socket = /dev/shm/mysql/mysql.sock
default-character-set = utf8
[mysqld_safe]
socket = /dev/shm/mysql/mysql.sock
nice = 0
[mysqld]
user = mysql
socket = /dev/shm/mysql/mysql.sock
port = 3306
basedir = /usr
datadir = /mysql/data
log-bin = mysql-bin
tmpdir = /tmp
skip-external-locking
bind-address = 172.16.1.1
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
log_error = /mysql/log/mysqld.log
expire_logs_days = 10
max_binlog_size = 100M
log_bin = mysql-bin
binlog_format = ROW
server_id = 1
innodb_flush_log_at_trx_commit=1
innodb_support_xa = 1 [mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/

5. 配置备的mysql

[client]
port = 3306
socket = /dev/shm/mysql/mysql.sock
default-character-set = utf8
[mysqld_safe]
socket = /dev/shm/mysql/mysql.sock
nice = 0
[mysqld]
user = mysql
socket = /dev/shm/mysql/mysql.sock
port = 3306
basedir = /usr
datadir = /mysql/data
log-bin = mysql-bin
tmpdir = /tmp
skip-external-locking
bind-address = 172.16.1.2
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
log_error = /mysql/log/mysqld.log
expire_logs_days = 10
max_binlog_size = 100M
log_bin = mysql-bin
binlog_format = ROW
server_id = 2 # id与主的不同
relay_log = mysql-relay-bin
log_slave_updates = 1
read_only = 1 # slave是read only [mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/

6. 重启两个mysql

7. 登录主mysql,执行

show master status\G;

验证正确性

8. 登录备mysql,执行

CHANGE MASTER TO
MASTER_HOST='172.16.1.1',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=106;

然后执行

start slave;
show slave status\G;

验证正确性

执行

mysql -urepl -h172.16.1.1 -ppassword

测试备mysql是否能连接到主库

9. 主备切换

修改my.cnf文件

read-only=1(主)
#read-only=1(备)

在备的mysql上执行

STOP SLAVE IO_THREAD;
SHOW PROCESSLIST;

再执行

STOP SLAVE;
RESET MASTER;
RESET SLAVE;
show master status \G;

在主的mysql上执行  

RESET MASTER;
RESET SLAVE; CHANGE MASTER TO
MASTER_HOST='172.16.1.2',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=106;

  

start slave

10. 先重启新的主mysql, 在重启备mysql

service mysqld restart

  

参考: http://blog.csdn.net/liuzhoulong/article/details/48289115

mysql主备配置方法的更多相关文章

  1. mysql主备配置

    目录 mysql主备2 一.master配置:2 1. 修改配置文件 2 2. 登录添加账号并赋权限 2 3. 查看master信息 2 二.slave配置:2 1. 修改配置文件 2 2. 重启登录 ...

  2. Mysql 主备配置

    来自:http://blog.csdn.net/u013256816/article/details/52536283 1. 了解主备配置过程原理. http://blog.csdn.net/u013 ...

  3. MySQL备份与主备配置

    MySQL备份与主备配置 数据备份类型 全量备份:备份整个数据库 增量备份:备份自上一次备份以来(增量或完全)以来变化的数据 差异备份:备份自上一次完全备份以来变化的数据 全量备份 全量备份的方法有 ...

  4. LVS+Keepalived+Mysql+主备数据库架构[4台]

    这是一个坑...磨了不少时间.见证自己功力有待提升... 架构图 数据库 1.安装数据库 这块不难, 直接引用:mysql安装 2.数据库主备 这块不难, 直接引用: mysql主备 虚拟VIP 重点 ...

  5. MySQL主备复制原理、实现及异常处理

    复制概述 MySQL支持三种复制方式:基于行(Row)的复制.基于语句(Statement)的复制和混合类型(Mixed)的复制. 基于语句的复制早在3.23版本中就存在,而基于行的复制方式在5.1版 ...

  6. LVS+MYCAT+读写分离+MYSQL主备同步部署手册

    LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1  ...

  7. 【转载】LVS+MYCAT+读写分离+MYSQL主备同步部署手册(邢锋)

    LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1  ...

  8. mysql主备切换[高可用]

    到这一步的时候, 是主备部署已经处理好, 请关注:mysql主备部署[高可用] 这次使用的是keepalived-1.2.22.tar.gz版, 官网地址:keeplived官网 笼统知识请自行查询百 ...

  9. mysql主备搭建

    mysql主备搭建参考文档https://www.cnblogs.com/clsn/p/8150036.html前提条件:系统:Ubuntu 16.04.6 LTSMySQL版本:5.7.24主库IP ...

随机推荐

  1. 线段树解LIS

    先是nlogn的LIS解法 /* LIS nlogn解法 */ #include<iostream> #include<cstring> #include<cstdio& ...

  2. python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv)

    一.上传文件 上传一个图片 使用input type="file",来上传一个文件.注意:form表单必须添加属性enctype="multipart/form-data ...

  3. python 全栈开发,Day30(纸牌游戏,异常和错误,异常处理)

    一.纸牌游戏                                                                                              ...

  4. 《剑指offer》青蛙跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 很裸的斐波那契数列. class Solution { public: int jumpFloor ...

  5. 在Centos下用alternative命令切换各个版本的jdk的方法

    https://blog.csdn.net/nsrainbow/article/details/43273991 https://blog.csdn.net/yzh_1346983557/articl ...

  6. #1 // BZOJ 4361 isn

    Description 给出一个长度为n的序列A(A1,A2...AN).如果序列A不是非降的,你必须从中删去一个数, 这一操作,直到A非降为止.求有多少种不同的操作方案,答案模10^9+7.   题 ...

  7. 今天刚学到truncate和delete的区别,做个总结吧

    truncate table : 删除内容,释放空间(表中数据会被删除,但不会进入oracle回收站,直接删除),不删除定义 delete table : 删除内容,不释放空间(表中数据虽被删除,但是 ...

  8. css实现幻灯片播放效果

    用css实现幻灯片播放是最基础的,闲下来没事就试着写了一下,如果有不够完善或者方法不好的地方还请指点.下面我就用两种方法实现css花灯片效果. 方法1:定位.通过position属性改变left值 h ...

  9. Android系统下用js自定义gesture事件(仿ios实现移动端事件一致)

    .katex { display: inline-block; text-align: initial; } .katex { font-family: Consolas, Inconsolata, ...

  10. IdentityServer4-前后端分离之Vue(七)

    前言 之前文章讲到如何使用Node.js+Express构建JavaScript客户端,实现前后端分离.本节将介绍如何使用Vue实现前后端分离,文中介绍Vue的知识比较基础,适合新手学习. 一.搭建V ...