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. php RabbitMQ使用

    php RabbitMQ使用 参考网址: http://www.rabbitmq.com/tutorials/tutorial-three-php.html 最近研究rabbitmq队列,linux安 ...

  2. rsync 实现断点续传

    Linux 主机之间即时传送文件,scp命令大家都很熟悉但当要传送的文件较大,过程中如果网络中断了,就比较悲剧了.这时候可以考虑使用rsync命令替代scp,实现断点续传文件. 试验:rsync使用 ...

  3. U14739 X ask Y III 子区间异或和

    题意:就是求所有子区间的异或和的和 题解:就是算每一位对结果的贡献(最近好像遇到很多次这种题目),先前缀异或,从左向右扫记录二进制前缀的1,0个数,xor[i]==xor[j]^1的时候就加上这一位的 ...

  4. Spring3.2.9 + JdbcTemplate 学习

    applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...

  5. Container容器调用构造函数

  6. linux服务器版svn安装

    1.检查svn是否安装:rpm -aq subversion2.安装命令yum -y install subversion3.建立svn版本库数据存储根目录mkdir -p /application/ ...

  7. 制作导航菜单分隔线的总结:用css3

    经过百度统计中国中使用谷歌浏览器比较多,我很奇怪,我身边的同事很少用谷歌,唯一我用谷歌的原因就是看上它调试能力和模拟手机. 下面是我个人制作的 预览用谷歌浏览器. <!doctype html& ...

  8. 条款36:绝对不要重新定义,继承而来的non-virtual函数

    重新定义一个继承而来的non-virtual函数可能会使得导致当函数被调用的时候,被调用的函数不是取决于调用的函数究竟属于的对象,而是取决于调用函数的指针或者引用的类型. 所以一般的说主要有两种观点在 ...

  9. Python之高级库socketserver

    socket并不能多并发,只能支持一个用户,socketserver 简化了编写网络服务程序的任务,socketserver是socket的在封装.socketserver在python2中为Sock ...

  10. 【数论】卡塔兰数 Catalan

    一.简介 设$h(0)=1$,$h(1)=1$,Catalan数满足递推式 $h(n) = h(0) \ast h(n-1) + h(1)\ast h(n-2) + \cdots + h(n-1)\a ...