mysql主从复制架构配置
第一个mysql
1、下载mysql,解压,移动解压后的目录到指定目录下。
如:mv /usr/local/src/mysql-5.1.. /usr/local/mysql
创建mysql用户, useradd -s /sbin/nologin mysql
创建数据存放目录/data/mysql
并指定拥有者所属组:chown -R mysql /data/mysql
2、拷备配置文件,启动脚本到指定目录下
cp my.cnf到/etc/my.cnf
cp my.server到/etc/init.d/mysqld
3、编辑启动脚本:
vim /etc/init.d/mysqld
指定datadir和basedir
如:
basedir=/usr/local/mysql
datadir=/data/mysql
进入安装目录,初始化
./script/mysql_install_db --user=mysql --datadir=/data/mysql
4、启动mysql服务:/etc/init.d/mysqld start
第二个mysql
1、拷备mysql安装目录 :
cp -r /usr/local/mysql /usr/local/mysql2
2、 拷备配置文件,启动脚本到指定目录下
cp /etc/my.cnf到/usr/local/mysql2/my.cnf
cp /etc/init.d/mysqld /etc/init.d/mysqld2
修改my.cnf文件中如下内容:
[mysqld]
port = 3307
socket = /tmp/mysql2.sock
datadir = /data/mysql2
并且创建数据存放目录。/data/mysql2
修改mysqld2 启动脚本。
指定datadir和basedir
如:
basedir=/usr/local/mysql2 #安装目录
datadir=/data/mysql2 #数据存放目录
同时:conf=$basedir/my.cnf #指定配置文件。
1、在主mysql创建测试数据库
mysql -uroot -p52033dd -S /tmp/mysql.sock
create database db1;
2、复制数据到数据库db1;
先备份数据 mysqldump -uroot -p52033dd
-S /tmp/mysql.sock mysql>1.sql
复制(恢复)数据 mysql -uroot -p52033dd
-S /tmp/mysql.sock db1 <1.sql
use db1; show tables;
可查看数据库db1中有没有表数据
3、修改主mysql的my.cnf配置文件
修改如下内容:
log-bin=mysql-bin[可自定义]
server-id = 1
有时需要指定更新(do)或不更新(ignore)的数据库:
如 binlog-do-db=databasename1,databasename2;
binlog-ignore-db=databasename1,databasename2;
重新启动mysql服务:
/etc/init.d/mysqld restart
4、在主mysql中创建一个用户
作为从mysql访问主mysql端数据的用户:
grant replication slave on *.* to 'repl'@'127.0.0.1' identified by '123456';
5、使更改立即生效:flush privileges;
6、锁定数据库,不允许更改任何数据。
flush tables with read lock;
7、查看状态:show master status;
记住如下内容:
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000011 | 331 | | |
+------------------+----------+--------------+------------------+
1、修改从mysql中的mysql.cnf配置文件
修改如下,改变其server-id号使和主mysql不同。
server-id = 2
保存后重启mysql服务
/etc/init.d/mysql2 restart
2、创建数据库使之和主mysql相同。
mysql -S /tmp/mysql2.sock -e "create database db1"
3、复制数据:
mysql -S /tmp/mysql2.sock db1 < 1.sql
4、进入数据库
mysql -S /tmp/mysql2.sock
停止 :slave stop; mysql5.6为stop slave;
配置主从:
change master to master_host='127.0.0.1',master_port=3306,master_user='repl',
master_password='123456',master_log_file='mysql-bin.000011',
master_log_pos=331;
#其中 host指定ip ,post 指定主mysql端口,
user指定访问用户名,password密码,
log_file是之前主mysql上查看状态得到的file名,
log_pos也是之前主mysql查看状态Position得到的。
5、启动:slave start;
6、查看slave的状态;
show slave status\G;
如果以下两项参数为YES,则成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
主mysql解锁:unlock tables;
测试:
1、在主mysql操作,删除表
drop table help_topic;
在从上查看表列表:是否存在help_topic表
use db1; show tables;
2、在主mysql操作,创建表
create table dd(`id` int(8), `name` char(40));
在从上查看表列表:是否存在dd表
3、在主mysql操作,删除库
drop database db1;
在从上查看库列表:是否存在db库
show databases;
主从mysql监控核心:
两个参数 Slave_IO_Running: Yes
Slave_SQL_Running: Yes
error 错误日志Last_SQL_Error:
***特别提示:在不同服务器上安装端口不需要改动,只改变其server-id号使和主mysql不同
mysql主从复制架构配置的更多相关文章
- (8) MySQL主从复制架构使用方法
一. 单个数据库服务器的缺点 数据库服务器存在单点问题 数据库服务器资源无法满足增长的读写请求 高峰时数据库连接数经常超过上限 二. 如何解决单点问题 增加额外的数据库服务器,组建数据库集群 同一集群 ...
- 在线建立或重做mysql主从复制架构方法(传统模式和GTID模式)【转】
mysql主从复制架构,是mysql数据库主要特色之一,绝大多数公司都有用到. 而GTID模式是基于事务的复制模式的意思,发展到现在也是越来越多人用. 以前很多文章,介绍搭建mysql主从复制架构,是 ...
- MySQL主从复制架构使用方法
原文:MySQL主从复制架构使用方法 一. 单个数据库服务器的缺点 数据库服务器存在单点问题 数据库服务器资源无法满足增长的读写请求 高峰时数据库连接数经常超过上限 二. 如何解决单点问题 增加额外的 ...
- Dubbo入门到精通学习笔记(十九):MySQL源码编译安装、MySQL主从复制的配置
文章目录 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 一.服务器配置: 二.源码安装 MySQL5.6.26: MySQL主从复制的配置 环境 依赖课程 MySQL 主从复制 ...
- MySQL主从架构配置
MySQL主从架构配置有两台MySQL数据库服务器master和slave,master为主服务器,slave为从服务器,初始状态时,master和slave中的数据信息相同,当master中的数据发 ...
- mysql主从复制安装配置
mysql主从复制安装配置 基础设置准备 #操作系统: centos6.5 #mysql版本: 5.7 #两台虚拟机: node1:192.168.182.111(主) node2:192.168.1 ...
- 记一次 mysql主从复制安装配置 过程
mysql主从复制安装配置 1.centos安装及准备 去centos官网下载相应source版本的镜像文件并在vmware中安装,安装中会遇到填写installation source,输入以下即可 ...
- MySQL 主从架构配置详解
无论是哪一种数据库,数据的安全都是至关重要的,因此熟练掌握数据库的安全备份功能,是作为开发人员,特别是后端开发人员的一项必备技能.MySQL 数据库内建的复制功能,可以帮助我们对数据进行异地备份,读写 ...
- MySQL主从复制的配置
环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 主节点IP:192.168.1.205 主机名:edu-m ...
随机推荐
- python连接activemq
介绍 activeMQ是一款消息队列,关于消息队列是什么这里就不再介绍了,这里只介绍如何使用python去连接activemq进行消息的发送和接收.既然都用python去连接了,那么对于消息队列是什么 ...
- 小程序UI设计(3)-符合视觉规范-列表视觉规范
上一篇我们介绍了字体规范,此贴介绍一下在列表中如何组合使用.下图是微信官方的要求 在工具中通过拖拽组件可以制作出一样的效果拖拽一个WViewRow.这个组件是小程序的view,flex-direc ...
- C#基础再学习
本次观看C#中级教程视频进行对C#一些基础的再度学习,加深印象. 1.对于错误和异常. 错误可能是语法错误也可能是逻辑错误.可以通过断点进行调试. 断点快捷键F9. 异常,通过try catch捕获, ...
- JavaScript入门学习之一——初级语法
JavaScript是前端编辑的一种编程语言(不同于html,html是一种标记语言),所以和其他的编程语言一样,我们将会从下面几点学习 基础语法 数据类型 函数 面向对象 JavaScript的组成 ...
- Python核心技术与实战——二一|巧用上下文管理器和with语句精简代码
我们在Python中对于with的语句应该是不陌生的,特别是在文件的输入输出操作中,那在具体的使用过程中,是有什么引伸的含义呢?与之密切相关的上下文管理器(context manager)又是什么呢? ...
- nginx理论基础
- C++最快获取像素值
HDC hdc, hdcTemp; RECT rect; BYTE* bitPointer; int x, y; int red, green, blue, alpha; while(true) { ...
- 轮子:读取config.ini文件
python: 把config.ini文件成map返回 def get_conf(conf_file): conf = {} ll=list(map(lambda x: x.replace('&quo ...
- Matlab复习
Matlab是刚好两年前(大三)接触的,那时一些课程(遥感图像处理.计量地理学......)要涉及简单的数学建模的问题.Matlab在那些资深的开发者看来可能是一门有点边缘化的东西,虽然也能做开发,能 ...
- git常用命令及常见问题解析
1.查看状态 1.git status 2.git status -a 2.初始化一个git仓库 git init git clone 'git仓库地址' 3.添加到暂存区 //目录 git add ...