zoukankan      html  css  js  c++  java
  • 部署和调优 2.7 mysql主从配置-1

      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.73-linux-x86_64-glibc23.tar.gz

    移动

    mv mysql-5.1.73-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            = 3306
    socket          = /tmp/mysql.sock
    改为
    port            = 3307
    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
  • 相关阅读:
    HDU 4389 X mod f(x) [数位DP]
    HDU 4370 0 or 1 [01规划最短路]
    HDU 4371 Alice and Bob [简单博弈]
    HDU 4386 Quadrilateral [最大四边形面积]
    HDU 4387 Stone Game [博弈]
    HDU 4385 Moving Bricks [状态压缩DP]
    HDU 4372 Count the Buildings [组合数学]
    几个项目管理网
    计算机信息系统集成资质管理办法
    201005期蘑菇班信息系统项目管理师招生简章
  • 原文地址:https://www.cnblogs.com/wangshaojun/p/5065342.html
Copyright © 2011-2022 走看看