部署和调优 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.-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的更多相关文章
- 部署和调优 2.8 mysql主从配置-2
配置主从准备工作 在主上创建一个测试的数据库 首先登录主的mysql,或者用绝对路径 /usr/local/mysql/bin/mysql mysql > create database db1 ...
- 部署和调优 2.9 mysql主从配置-3
测试 先给主mysql解锁 > unlock tables; 删除一个表 > use db1; > show tables; > drop table help_categor ...
- 部署和调优 3.3 dns安装配置-3
只有一台DNS服务器是不保险的,现在给他配置个从服务器. 在另外一台虚拟机上安装配置DNS服务器.先查看虚拟机ip为:192.168.1.111 ifconfig 给从安装bind和dig命令 yum ...
- 部署和调优 3.2 dns安装配置-2
配置一个自定义的域,随便定义的,不实际存在. 在配置文件里,增加一个域 vim /etc/named.conf zone "123.com" IN { type master; f ...
- 部署和调优 3.1 dns安装配置-1
安装配置DNS服务器 装一个bind,首先搜一下. yum list |grep bind bind.x86_64 我们安装这个 安装 yum install bind.x86_64 -y 看一下 ...
- sql MYSQL主从配置
MYSQL主从配置 1.1 部署环境 主(master_mysql): 192.168.1.200 OS:CentOS 6.5 从(slave_mysql): 192.168.1.201 OS:Cen ...
- mysql主从配置
引言: 双11,阿里云服务器打折,于是我忍不住又买了一台服务器,于是咱也是有两台服务器的爷们了,既然有了两台服务器,那么肯定要好好利用一下吧,那么就来玩玩mysql的主从配置吧. 准备 两台数据库服务 ...
- Mysql主从配置,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...
- CentOS 7下的 Mysql 主从配置
最近在玩mysql主从配置,在此记录一下 一.前言 1.安装两个虚拟机(CentOS 7).iP分别是192.168.47.131 和192.168.47.133.其中192.168.47.133作为 ...
随机推荐
- 机器学习三剑客之Numpy
Numpy NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Numpy内部解除了Python的PIL(全局解释器锁),运算效 ...
- ZC_问题
1. [02][40:15]主键 还需要另外创建 序列? 一直到 [03][31:25]都已经成功的insert了两条数据了,也没见 手动创建 序列... 2. 貌似记得 有地方给 hibernate ...
- SqlCacheDependency:asp.net SQL缓存依赖
先看下MSDN对此类的介绍: 在以下两者之间建立关系:一是在 ASP.NET 应用程序的 Cache 对象中存储的项:二是特定 SQL Server 数据库表或 SQL Server 2005 查询 ...
- Android在layout xml中使用include完成静态加载
Android在layout xml中使用include完成静态加载 include静态加载:不仅可以加载布局,还可以加载控件(控件标签名要在最外层)include标签中有个layout属性就是专门用 ...
- 如何在阿里云上部署war包到tomcat服务器
一. 准备工作:xshell和xftp 首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉 ...
- SOLID
S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写. SRP The Single Responsibility ...
- hdu1863(最小生成树)
很裸的最小生成树,但要注意判断输出问号的情况.其实就是当给的图不是连通图时输出问号.判断方法是:看形成的最小生成树的边数是不是等于节点数减一. #include<iostream> #in ...
- Git中从远程的分支获取最新的版本到本地方式
Git中从远程的分支获取最新的版本到本地方式如下, 如何更新下载到代码到本地,请参阅ice的博客基于Github参与eoe的开源项目指南 方式一 . 查看远程仓库 $ git remote -v eo ...
- dirent.h
#include <dirent.h> 是POSIX.1标准定义的unix类目录操作的头文件,包含了许多UNIX系统服务的函数原型,例如opendir函数.readdir函数. opend ...
- 搭建了一个Apache+Php+MySQL的服务器。要如何通过Apache发布网站使得其他的电脑可以通过局域网访问?
源址: 1.网站的代码放在文件夹“www”下: 2.配置apache允许他人访问网站:在wamp/apache/apache版本/conf的httpd.conf文件修改代码如下: Optio ...