Mysql主从配置讲解
一个主机上管理多个mysql实例
资源有限,只能用一台主机备份多个机器上的mysql,所以怎么才能在一台机器上运行多个mysql呢,肯定是要包括不同的端口,搜索一下mysql multi 可以配置管理多实例,
具体配置,还要等实验后再过来记录~
实验记录:
1.1 修改/etc/my.cnf
分别配置[mysql_multi] [mysqldN] ###[mysqldN]的配置和普通的mysql配置一样,但是只需要server-id 与主机的server-id不同
1.2初始化数据库
/usr/bin/mysql_install_db --datadir=/data/mysql/3319/data # datadir 在my.cnf里配置~每初始化一次,密码会保存在/root/.mysql_secret文件里
1.3启动mysql_multi
/usr/bin/mysqld_multi start 1-n;#GNR 是指mysqlN 中的N,N要为正整数
1.4登陆mysql 实例
mysql -uroot -p -S /var/lib/mysql/mysql3319.sock ###sock文件路径在配置文件里配置
注意:最好配置multi.log 方面观察日志
2、如何配置主从框架
这个是工作的核心,怎么配置才是实现主从
实验记录:
2.1主机上必需配置三个配置
server-id =1 ---服务器唯一ID,默认是1,一般取IP最后一段
log-bin=PATH/log ---启用二进制日志,自定义目录
binlog_format=mixed---binlog的格式也有三种:STATEMENT,ROW,MIXED。 MBR 模式中,SBR 模式是默认的
2.2主机上创建备份权限用户
grant replication slave on *.* to “库名”@'从库IP' identified by 'password'----安全起见,最好只准许从库登陆
Ps:若'@'%' identified by 'password'; 表示所有客户端都可能连,只要帐号,密码正确,
flush privileges;
登录主服务器的mysql,查询master的状态
mysql>show master status;
2.3修改从服务器的slave配置
server_id =2 ---只要不和主server-id的值一致即可
log-bin=mysql-bin ---不是必须启用二进制日志,可配可不配
socket=/var/lib/mysql/mysqlport.sock ---为了方便区分,加上端口名
datadir=/data/mysql/port/data ---路径自定,为了区分
注: 因为数据量较大,dump数据比较浪费时间,但是锁表影响业务,所以我是通过物理拷贝的数据,直接到datadir下面,除了server-id 和datadir不和主机一样,其他全部一样,也必须一样,否则,就会出现从库的IO线程启动失败
3如何进行首次同步
首先要明确的是,线上的业务是不能停的,这就意味着主数据库是不能停止的,那如何进行首次备份呢?这个是不可忽略的问题~待寻答案
实验记录:
3.1上只读锁
flush tables with read lock ;
3.2记下偏移量
show master status;
3.3拷贝数据
这里有两种选择
3.3.1mysqldump
优缺点配置文件不用完全一致,但是操作时间较长,需要初始化数
mysqldump -uroot -p --opt -R --all-databases|gzip -9 >/tmp/XX.sql.gz ---压缩一下,等会传输的时候节省时间,当然到从库那边还要先gunzip.
mysql -uroot -p <XX.sql
3.3.2物理备份
操作时间短,除个别配置,其他配置要保持完全一致, 可以不用初始化数据库
主库datadir路径下的文件——》 从库datadir路径下即可
3.4解锁 unlock tables
3.5启动从库
mysql -u root -p -S /var/lib/mysql/mysql3319.sock 查看数据库是否全部导入
3.6配置从服务器Slave:
change master to maste_host='主库ip',---配置主库的方式跟mysql 版本相关,较老版本可直接在配置文件中
->master_user=”库名”, ---配置主库
->master_password=”PASSWORD”,
->master_log_file=”mysql-bin.XXXX”
->master_log_pos=XXXXXX;
新版本可以如下配置
mysql>
master_host='主机ip',master_user='库名',master_password='password',
master_log_file='mysql-bin.XXXX',master_log_pos=XXXXXX;
----注意不要断开,308数字前后无单引号。
mysql-bin.XXXX 和master_log_pos=XXXXXX代表show master status; 查询master的状态
如登录主服务器的mysql,查询master的状态结果为
注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
mysql-bin.XXXX 和master_log_pos=XXXXXX分别为
mysql-bin.000004 和master_log_pos=308
sql>start slave; ----启动从服务器复制功能
3.7启动从库服务
start slave 启动方式也和数据库版本相关,较老版本可能用slave start 启动
3.8查看主从状态
show slave status\G; 这两个进行启动,说明主从配置成功了
Mysql主从配置讲解的更多相关文章
- mysql主从配置
引言: 双11,阿里云服务器打折,于是我忍不住又买了一台服务器,于是咱也是有两台服务器的爷们了,既然有了两台服务器,那么肯定要好好利用一下吧,那么就来玩玩mysql的主从配置吧. 准备 两台数据库服务 ...
- Mysql主从配置,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...
- CentOS 7下的 Mysql 主从配置
最近在玩mysql主从配置,在此记录一下 一.前言 1.安装两个虚拟机(CentOS 7).iP分别是192.168.47.131 和192.168.47.133.其中192.168.47.133作为 ...
- Mysql主从配置+读写分离
Mysql主从配置+读写分离 MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...
- mysql主从配置(清晰的思路)
mysql主从配置.鄙人是在如下环境测试的: 主数据库所在的操作系统:win7 主数据库的版本:5.0 主数据库的ip地址:192.168.1.111 从数据库所在的操作系统:linux 从数据的版本 ...
- mysql 主从 配置和同步管理
首先呢,需要有两个mysql服务器.如果做测试的话可以在同一台机器上装两个mysql服务程序,注意要两个运行程序的端口不能一样.我用的是一个是默认的3306,从服务器用的是3307端口. 在主服务创建 ...
- Mysql笔记之 -- 小试MYSQL主从配置
mysql主从配置: 硬件: 两台服务器 1.Ubuntu 12.04.4 LTS (GNU/Linux 3.2.0-60-generic-pae i686) 2.Ubuntu 12.04.4 LT ...
- MySql主从配置实践及其优势浅谈
MySql主从配置实践及其优势浅谈 1.增加两个MySQL,我将C:\xampp\mysql下的MYSQL复制了一份,放到D:\Mysql2\Mysql5.1 修改my.ini(linux下应该是my ...
- windows环境下mysql主从配置
mysql主从配置. 相关理论知识可以百度一下,这里就不多说了,直接说如何配置. 一.环境介绍及说明 主库所在的操作系统:win7 主库的版本:mysql-5.6.24-winx64.zip 主库的i ...
随机推荐
- HDU 1006 [Tick Tick]时钟问题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1006 题目大意:钟表有时.分.秒3根指针.当任意两根指针间夹角大于等于n°时,就说他们是happy的, ...
- ArcGIS API for JavaScript 4.2学习笔记[2] 显示3D地图
3D地图又叫场景. 由上一篇可知, require入口函数的第一个参数是字符串数组 ["esri/Map", "esri/views/MapView", &qu ...
- HTML5和CSS3
一.HTML5 HTML5 是 HTML 标准的最新演进版本. 这个术语代表了两个不同的概念:它是一个新的 HTML 语言版本包含了新的元素,属性和行为,同时包含了一系列可以被用来让 Web 站点和应 ...
- PS切图篇(一)---界面设置
#工作区设置 四大主要面板:信息 字符 图层 历史记录 打开必要属性: 选择工具设置 选择图层的方式:ctrl+鼠标左击想选择的图层
- C/C++中的联合体
C/C++中的联合体 利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间.当访问其内成员时可用"."和"->"来直接访问. 当多个 ...
- ArcGIS制图表达Representation实战篇2-河流渐变与符号旋转
ArcGIS制图表达Representation实战篇2-河流渐变与符号旋转 by 李远祥 上一章节主要是从实战中使用规则和几何效果,如何分解制图规则.本章主要还是通过一些特殊要求如河流线宽渐变和符号 ...
- Android微信朋友圈全文、收起功能
在众多的社交类软件中,朋友圈是必不可少的,可以与好友.同学等分享自己的日常和有意思的事情,在开发社交类App时,朋友圈发表的内容你不可能让他全部显示,全部显示的话用户体验度会非常不好,这时就要用到全文 ...
- matlab 全局变量的使用举例
昨天在写项目时,想要把获取到的临时变量放入一个全局变量,为以后的使用做准备,结果总是出错,今天做了一个小程序,放在这里备用. 自定义函数: global_p.m function y=global_p ...
- C# 6 与 .NET Core 1.0 高级编程 - 40 ASP.NET Core(上)
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 40 章 ASP.NET Core(上)),不对的地方欢迎指出与交流. 章节出自<Professiona ...
- php微信网页授权获取用户信息
配置回调域名: 1. 引导用户进入授权页面同意授权,获取code 2. 通过code换取网页授权access_token(与基础支持中的access_token不同) 3. 如果需要,开发者可以刷新网 ...