MySQL 主从(MySQL Replication),主要用于 MySQL 的时时备份或者读写分离。在配置之前先做一下准备工作,配置两台 mysql 服务器,如果你的机器不能同时跑两台 Linux虚拟机,那可以考虑在同一个机器上跑两个 mysql 服务。

MySQL 主从原理非常简单,总结一下:

  每个从仅可以设置一个主。
  主在执行 sql 之后,记录二进制 log 文件(bin-log)。
  从连接主,并从主获取 binlog,存于本地 relay-log,并从上次记住的位置起执行 sql,一旦遇到错误则停止同步。

  从这几条 Replication 原理来看,可以有这些推论:

  主从间的数据库不是实时同步,就算网络连接正常,也存在瞬间,主从数据不一致。

  如果主从的网络断开,从会在网络正常后,批量同步。

  如果对从进行修改数据,那么很可能从在执行主的 bin-log 时出现错误而停止同步,这个是很危险的操作。所以一般情况下,非常小心的修改从上的数据。

  一个衍生的配置是双主,互为主从配置,只要双方的修改不冲突,可以工作良好。

  如果需要多主的话, 可以用环形配置, 这样任意一个节点的修改都可以同步到所有节点。

  可以应用在读写分离的场景中,用以降低单台 MySQL 服务器的 I/O

  可以实现 MySQL 服务的 HA 集群

  可以是 1 主多从,也可以是相互主从(主主)

////////////////////////////////////////////////////////////////////////////////////////////////

    在一台机器安装两个mysql。实现主从

删除原来的mysql

rm -rf /usr/local/mysql/

安装mysql

切换到下载目录下

cd /usr/local/src/

解压

tar zxvf mysql-5.1.-linux-x86_64-glibc23.tar.gz

移动

mv mysql-5.1.-linux-x86_64-glibc23 /usr/local/mysql

检查有没有 mysql 用户

grep 'mysql' /etc/passwd

没有的话需要创建

useradd -s /sbin/nologin mysql

拷贝配置文件,覆盖掉原来的

cd /usr/local/mysql
cp support-files/my-small.cnf  /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld

编辑配置文件,指定mysql的安装路径和数据路径

vim /etc/init.d/mysqld
basedir=
datadir=
修改为
basedir=/usr/local/mysql
datadir=/data/mysql

删除原来的mysql

rm -rf /data/mysql/

从新生成mysql,有两个OK正常

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

查看/data/mysql下是否有两个目录 mysql和test

ls /data/mysql/

启动mysql

/etc/init.d/mysqld start

装第二个mysql

切换到安装目录,拷贝文件重命名第二个mysql名字

cd /usr/local
cp -r mysql mysql_slave

切换到第二个mysql目录下,拷贝配置文件

cd mysql_slave/
cp /etc/my.cnf .

修改配置文件

vim my.cnf
port            =
socket = /tmp/mysql.sock
改为
port =
socket = /tmp/mysql_slave.sock
datadir =/data/mysql_slave

生成mysql_slave

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql_slave

修改启动脚本

vim /etc/init.d/mysqlslave
basedir=/usr/local/mysql
datadir=/data/mysql
改为
basedir=/usr/local/mysql_slave
datadir=/data/mysql_slave
conf=$dasedir/my.conf

启动

/etc/init.d/mysqldslave start

部署和调优 2.7 mysql主从配置-1的更多相关文章

  1. 部署和调优 2.8 mysql主从配置-2

    配置主从准备工作 在主上创建一个测试的数据库 首先登录主的mysql,或者用绝对路径 /usr/local/mysql/bin/mysql mysql > create database db1 ...

  2. 部署和调优 2.9 mysql主从配置-3

    测试 先给主mysql解锁 > unlock tables; 删除一个表 > use db1; > show tables; > drop table help_categor ...

  3. 部署和调优 3.3 dns安装配置-3

    只有一台DNS服务器是不保险的,现在给他配置个从服务器. 在另外一台虚拟机上安装配置DNS服务器.先查看虚拟机ip为:192.168.1.111 ifconfig 给从安装bind和dig命令 yum ...

  4. 部署和调优 3.2 dns安装配置-2

    配置一个自定义的域,随便定义的,不实际存在. 在配置文件里,增加一个域 vim /etc/named.conf zone "123.com" IN { type master; f ...

  5. 部署和调优 3.1 dns安装配置-1

    安装配置DNS服务器 装一个bind,首先搜一下. yum list |grep bind bind.x86_64   我们安装这个 安装 yum install bind.x86_64 -y 看一下 ...

  6. sql MYSQL主从配置

    MYSQL主从配置 1.1 部署环境 主(master_mysql): 192.168.1.200 OS:CentOS 6.5 从(slave_mysql): 192.168.1.201 OS:Cen ...

  7. mysql主从配置

    引言: 双11,阿里云服务器打折,于是我忍不住又买了一台服务器,于是咱也是有两台服务器的爷们了,既然有了两台服务器,那么肯定要好好利用一下吧,那么就来玩玩mysql的主从配置吧. 准备 两台数据库服务 ...

  8. Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  9. CentOS 7下的 Mysql 主从配置

    最近在玩mysql主从配置,在此记录一下 一.前言 1.安装两个虚拟机(CentOS 7).iP分别是192.168.47.131 和192.168.47.133.其中192.168.47.133作为 ...

随机推荐

  1. uva 11752 The Super Powers 素数+大数判断大小

    题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...

  2. python之算法LOB三人组

    一.冒泡排序 a.冒泡排序----优化 如果冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结算法 import random from timewrap import * @cal_ti ...

  3. Java编程思想 两个主函数

    //: initialization/DynamicArray.javapackage initialization; /* Added by Eclipse.py */// Array initia ...

  4. 常用的CDN 链接 http://cdn.code.baidu.com/ http://www.bootcdn.cn/

    http://cdn.code.baidu.com/ http://developer.baidu.com/wiki/index.php?title=docs/cplat/libs ★新浪CDN,感觉 ...

  5. Excel 导入到处问题处理!

    1.未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0" 因为没有安装64位的Jet40驱动.可以到 http://www.microsoft.com/downl ...

  6. 如何理解python中的if __name__=='main'的作用

    一. 一个浅显易懂的比喻 我们在学习python编程时,不可避免的会遇到if __name__=='main'这样的语句,它到底有什么作用呢? <如何简单地理解Python中的if __name ...

  7. NSLog Release

    //将下面的代码插入到pch文件中即可 #ifndef __OPTIMIZE__ # define NSLog(…) NSLog(__VA_ARGS__) #else # define NSLog(… ...

  8. PowerCmd 2.2 注册码

    PowerCmd 是共享软件,现分享注册码一枚: 用户名:Sub 注册码:PCMDA-86128-PCMDA-70594 来源:http://blog.csdn.net/subchen/article ...

  9. 熟练使用IDT

    一些很基础的操作,现在基本都了然于胸了.主要还是多练习.多去写,多去看别人的.后来才能更加的熟悉.工具这东西,越是经常使用,越是得心应手.虽然现在还是很菜.好歹也会了不少了.勤能补拙,不要太看低别人, ...

  10. 32 python 并发编程之协程

    一 引子 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去 ...