码迷,mamicode.com
首页 > 数据库 > 详细

2.7-mysql主从配置-1

时间:2015-09-30 01:05:30      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:2.7-mysql主从配置-1

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

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


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

主从间的数据库不是实时同步,就算网络连接正常,也存在瞬间,主从数据不一致。如果主从的网络断开,从会在网络正常后,批量同步。如果对从进行修改数据,那么很可能从在执行主的 bin-log 时出现错误而停止同步,这个是很危险的操作。所以一般情况下,非常小心的修改从上的数据。


一个衍生的配置是双主,互为主从配置,只要双方的修改不冲突,可以工作良好。如果需要多主的话, 可以用环形配置, 这样任意一个节点的修改都可以同步到所有节点。可以应用在读写分离的场景中,用以降低单台 MySQL 服务器的 I/O可以实现 MySQL 服务的 HA 集群


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

说明: 以下文档为在同一个机器上,配置两个 mysql 服务


1.安装、配置 主 MySQL

首先,参考之前步骤搭建 MySQL 服务。为了做实验方便,我们在同一台机器上配置两

个 MySQL 服务(跑两个端口)。

tar zxvf mysql-5.1.72-linux-i686-glibc23.tar.gz            解压

mv mysql-5.1.72-linux-i686-glibc23 /usr/local/mysql        移动

useradd -s /sbin/nologin -M mysql                          创建用户

cd /usr/local/mysql                                        进入程序目录

cp support-files/my-small.cnf /etc/my.cnf                  复制配置文件(最小化配置实验用)

cp support-files/mysql.server  /etc/init.d/mysqld          复制启动脚本

vim /etc/init.d/mysqld                                     编辑启动脚本

修改basedir和datadir

basedir=/usr/local/mysql

datadir=/data/mysql

保存退出

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql 初始化数据库目录

有2个OK或者/data/mysql下是否有两个目录,证明初始化正常。

此时可以启动mysql 然后用ps或者netstat来查看程序是否启动



2.安装配置 从 MySQL

cp -r /usr/local/mysql /usr/local/mysql2              复制主程序目录到mysql2

cd /usr/local/mysql2                                  进入从程序目录

cp /etc/my.cnf /usr/local/mysql2                      复制主配置到从目录下

vim /usr/local/mysql2/my.cnf                          修改从配置文件

修改[mysqld]下的port和socket,并追加一条datadir       为了不与主冲突

port            = 3307

socket          = /tmp/mysql2.sock

datadir         = /data/mysql2

保存退出

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql2 初始化从数据库


最后可以启动从mysql,但是和主的启动脚本不太一样,需要自己编写启动。

cp /etc/init.d/mysqld /etc/init.d/mysqld2             复制一个启动脚本

修改basedir和datadir并制定my.cnf配置文件路径,与主区别开。

basedir=/usr/local/mysql2

datadir=/data/mysql2

搜索my.cnf并修改路径

conf=$basedir/my.cnf 或者把这一行追加到datadir=/data/mysql2下

保存退出,然后启动从程序

./mysql2 restart

然后ps和netstat来查看是否启动正常


如果想配置第三个mysql,按照从的配置,照葫芦画瓢。



2.7-mysql主从配置-1

标签:2.7-mysql主从配置-1

原文地址:http://llzdwyp.blog.51cto.com/6140981/1699352

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!