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. Centos 查看版本

    # cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)

  2. 安装rackspace private cloud --3 Deployment host

    on deploy host: 在deploy host上安装 Ubuntu Server 14.04 (Trusty Tahr) LTS 64-bit # apt-get install aptit ...

  3. Unity3D-UGUI图集打包与动态使用(TexturePacker)

    参考地址: http://blog.csdn.net/cjsen/article/details/52487706 今天做项目大佬看我在做图集,就跟我说可以用工具打包图集,也就是TexturePack ...

  4. php 微信接口API之长链接转短链接代码示例

    <?php header("Content-Type: text/html; charset=utf-8"); $longurl; if(isset($_POST['long ...

  5. 安装Nodejs、npm、Less(支持生成压缩后的css)

    安装Nodejs和npm 1.到https://nodejs.org/en/下载最新的版本,安装到d盘下,假设安装后的路径为D:\Program Files\nodejs, 笔者当前的版本v6.10. ...

  6. java_报表_00_资源帖

    一.精选资料 二.java api 1.jfreechart (1).Java-jfree报表(学习整理)----饼状图.柱状图.折线统计图 (2).Jfreechart打造专业图表-原来Jfreec ...

  7. CANopenSocket 测试

    /************************************************************************* * CANopenSocket 测试 * 说明: ...

  8. 用php实现斐波那契数列

    //1 1 2 3 5 8 13 ....//观察数列 你会发现下一个数是如何得来的 //  f(3) = f(2) + f(1)      f(4)=f(3)+f(2)           f(18 ...

  9. SQL Sever 学习系列之一

    SQL Sever 学习系列之一 本学习系列,从实际工作需要中积累,对于一个新手而言,写出几条漂亮的查询语句,应该是可以受启发的. 一.问题的需求是:员工薪酬发放,现有资金能发放多少人,哪些人应得? ...

  10. Wireshark图解教程(简介、抓包、过滤器)【转载】

    原文网址:http://blog.sina.com.cn/s/blog_5d527ff00100dwph.html Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据, ...