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 ...
随机推荐
- linux上如何安装postgresql
安装对应的postgresql的yum源 rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64 ...
- 神经网络优化算法:梯度下降法、Momentum、RMSprop和Adam
最近回顾神经网络的知识,简单做一些整理,归档一下神经网络优化算法的知识.关于神经网络的优化,吴恩达的深度学习课程讲解得非常通俗易懂,有需要的可以去学习一下,本人只是对课程知识点做一个总结.吴恩达的深度 ...
- 安装vim自动补全插件
1 安装VIM 2 安装vim插件管理工具.过程见链接.(谢谢) 3 在.vimrc中添加下列代码 Bundle 'Valloric/YouCompleteMe' 保存退出后打开vim,在正常模式下输 ...
- Jmeter 常见逻辑控制器详解
简介 Jmeter有很多逻辑控制器,可以控制请求的执行顺序和执行逻辑,本文就Jmeter常见的逻辑控制器做一个详细的描述,并通过示例让大家了解逻辑控制器的作用. 代码的逻辑分支通常有: 条件判断I ...
- 面试复习题(二)JavaSE高级(未完成)
一.Java中的反射 3.说说你对Java中反射的理解 Java中的反射首先是能够获取到Java中要反射类的字节码,获取字节码有3种办法. class.forName(className) 类名.cl ...
- 关于Win Re的故事
闲来无事,拿出来自己的小破笔记本瞎折腾,突然发现桌面上竟然还残留着上一个公司的内部vpn, 我是一个有着轻微洁癖强迫症的人,留着这么一个东西占据我本来就不是很大的固态硬盘,简直是罪过.于是我头脑一热, ...
- dead relu and Tensorboard
https://medium.com/analytics-vidhya/is-relu-dead-27943b50102 1.使用relu作为激活函数时,因其在输入小于0时,输出为0,所以可能会造成d ...
- Hive 常用命令
1.hive模糊搜索表 show tables like '*name*'; 2.查看表结构信息 desc formatted table_name; desc table_name; 3.查看分 ...
- 执行dlsym()函数出现: undefined symbol
执行dlsym()函数出现: undefined symbol 执行dlsym()函数出现: undefined symbol 当这个问题出现的时候,可以检查产生so文件的cpp文件,看看是否已经用 ...
- springboot rabbitmq direct exchange和topic exchange 写法上关于路由键的区别
这是direct exchange写法中消息发送写法,可见下图红色框中路由键是queue队列中定义的路由键 这是topic exchange写法中消息发送写法,可见下图红色框中路由键是exchange ...