数据库迁移文档

一、需求

确保数据库稳定的运行,为开发人员提供方便的测试数据库和生产数据库的环境。

二、数据库整体架构(master/slave)

1.slave数据库安装

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

安装
yum --enablerepo=remi,remi-test install mysql mysql-server
查看版本
mysql --version

修改mysql存储目录 原/var/lib/mysql 修改成/home/mysql

service mysqld stop

//目录迁移到home下

mv /var/lib/mysql/ /home/

修改mysql配置文件

vi /etc/my.cnf

[mysqld]
datadir=/home/mysql
socket=/home/mysql/mysql.sock

[mysql]
socket=/home/mysql/mysql.sock

service mysqld start

三、数据库迁移备份还原操作

  1. 测试数据库导出操作

mysqldump -uroot -p123456 miss8 > miss8.sql

  1. Master节点,Slave节点导入数据库

mysql -uroot -piminerroot miss8 < miss8.sql

四、数据库迁移具体配置

  1. 一定要确保Master节点和Slave节点数据相同
  2. 配置Master节点

在Master的数据库中建立一个备份帐户:每个slave使用标准的MySQL用户名和密码连接master。进行复制操作的用户会授予REPLICATION SLAVE权限。用户名的密码都会存储在文本文件master.info中

命令如下:

mysql > GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*  TO backup@'192.168.32.47'  IDENTIFIED BY '123456';

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*  TO backup@'192.168.32.95'  IDENTIFIED BY '123456';

建立一个帐户backup,并且只能允许从47,95这个地址上来登陆,密码是123456。

修改Master配置文件(/etc/my/cnf)

server-id=1
log-bin=mysql-bin

binlog-do-db=gquan_miss8   (只同步gquan_miss8)

service
mysqld restart (重启mysql服务)

show master
status; (查看master节点状态)

  1. 配置Slave节点(/etc/my/cnf)

#服务器id

server-id
= 2

##同步数据库name

replicate-do-db=miss8_master

##不需要同步数据库name

replicate-ignore-db=mysql

relay-log-index=slave-relay-bin.index

##中继日志

relay-log=slave-relay-bin

##将复制事件写进日志

log_slave_updates
= 1

read_only=1

  1. 启动Slave节点

接下来就是让slave连接master,并开始重做master二进制日志中的事件。你不应该用配置文件进行该操作,而应该使用CHANGE MASTER TO语句,该语句可以完全取代对配置文件的修改,而且它可以为slave指定不同的master,而不需要停止服务器。

一定要注意master_log_file等于master 目录/var/lib/mysql 最后一个二进制文件mysql-bin.000002,不然指定时候会报异常.如下

mysql>change master to
master_host='192.168.32.96', master_user='backup', master_password='123456',
master_log_file='mysql-bin.000002', master_log_pos=4;

mysql> slave start;  //开启slave服务

可以用SHOW SLAVE
STATUS语句查看slave的设置是否正确:

mysql> SHOW SLAVE STATUS\G

Slave_IO_Running, 和Slave_SQL_Running是yes 表明slave节点配置正常

五、数据库使用注意事项

1.常用命令

//查看master状态

SHOW MASTER
STATUS\G

//查看slave状态

SHOW SLAVE STATUS\G

//查看master和slave上线程的状态。在master上

show processlist\G; 结果如下

最后提醒一下slave节点不允许写操作,不能在slave上面直接操作.

五、数据库复制常用语句

1.FLUSH LOGS

强制轮换(rotate)二进制文件日志,从而得到一个"完整的"二进制日志文件.

2.SHOW BINLOG EVENTS\G

检查二进制日志(默认第一个二进制文件)里有哪些事件如图

3.SHOW BINLOG EVENTS IN 'master-bin.000003'\G //查看第三个二进制文件里面的事件

4.SHOW MASTER STATUS\G  //查看当前正在写入的是哪个二进制文件

mysql数据库迁移文档的更多相关文章

  1. mysql数据库设计文档-导出字段设计

    navicat 是我一直在使用的一个数据库操作工具,非常方便快捷.如果没有可用navicat可以留言邮箱我直接发您. 今天来介绍一下使用navicat导出数据库字段设计.废话不多说,先看导出效果. 查 ...

  2. Mysql、Oracle、SQLServer等数据库参考文档免费分享下载

    场景 MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统 ...

  3. JIRA6.36-7.23数据迁移文档

    JIRA6.3.6-JIRA7.2.3数据迁移文档 安装JIRA7.2.3 安装包位于服务器/opt/SOFTWARE_PACKAGE目录下 建立JIRA安装的目录数据目录 cd /opt mkdir ...

  4. 最简单,最实用的数据库CHM文档生成工具——DBCHM

    DBCHM支持SqlServer/MySql/Oracle/PostgreSQL等数据库的表列批注维护管理. DBCHM有以下几个功能 表,列的批注可以编辑保存到数据库. 表,列的批注支持通过pdm文 ...

  5. php-生成数据库设计文档

    在线以及提供下载数据库设计文档 $dbserver = "192.168.128.190:42578"; $dbusername = "root"; $dbpa ...

  6. Proftpd mysql认证配置文档

    Proftpd mysql认证配置文档 ver1.0, 2012/09/25 一.下载安装proftp mysql 下载 wget http://cloud.github.com/downloads/ ...

  7. Gemini.Workflow 双子工作流高级教程:数据库-设计文档

    数据库设计文档 数据库名:Workflow_New 序号 表名 说明 1 WF_Activity wf_Activity 2 WF_ActivityInstance wf_ActivityInstan ...

  8. Net 通用权限管理系统源码 带数据库设计文档,部署说明文档

    Net 通用权限管理系统源码 带数据库设计文档,部署说明文档 包括数据库设计文档部署安装文档源码数据库文件 下载地址:http://www.mallhd.com/archives/1389

  9. MySQL数据库迁移(转)

    MySQL数据库迁移(数据文件直接迁移) 在今年10月下旬的时候,公司的服务器需要迁移,其中涉及到了MySQL数据库迁移.查看了一下MySQL数据文件的大小,接近60G的大小(实际数据并没用那么多). ...

随机推荐

  1. maven项目如何手动打包

    1.确定打包对象:dubbo-admin 2.进入打包对象目录,复制目录路径(D:\H\dubbox-master\dubbo-admin). 可以看到该对象为典型的maven目录,此时没有“targ ...

  2. Docker安装ngnix使用ping报错

    最近在学习docker时,由于docker维护的dockerHub远程仓库的镜像文件比普通的文件小得多,所以经常碰到的情况是,一般常用的命令,会出现no command的情况.今天安装ping的时候就 ...

  3. SpringBoot报错:Table 'database_name.hibernate_sequence' doesn't exist

    引起条件: SpringBoot+JPA插入包含自增字段的对象 @Id @GeneratedValue private Integer id; 解决方法: 给注解添加属性 @Id @Generated ...

  4. D. Frets On Fire 前缀和+二分

    这个题真的难了我一天了,这种方法一开始没想出来,后来看了题解后明白了大致思路开始自己做但是!!!但是自己实现的时候老是一些细节出错!!!,调bug调了得有一个小时,蠢死了,这道题我一定要好好总结,总结 ...

  5. 使用datagrip链接mysql数据库的报错问题.

    1. datagrip刚打开时候,选择风格是白是黑后, 会有一个选择什么数据库,有oracle...一大堆,别选错了.我的是mysql,不要选成了windows sql 和sql. 2 基本设置写完, ...

  6. python 外键用法 多对多关系 ORM操作 模板相关

    一.app/models中写类(设计表结构) 1.普通类 class  A(models.Model): id=modles.AutoField(primary_key=True) name=mode ...

  7. Java (JDK 多版本切换)—— Windows平台

    0. 背景 常常在不同的应用中需要用到不同版本的Java ,需要切换不同JAVA_HOME. 1. 方法 Step 1. 安装不同版本的JDK(JRE),最好都安装在一个Java目录分支下.例如: S ...

  8. 【阿里聚安全·安全周刊】女主换脸人工合成小电影|伊朗间谍APP苹果安卓皆中招

    本周的七个关键词: 人工智能 丨 HTTP链接=不安全链接 丨  滑动验证码 丨 伊朗间谍APP 丨 加密挖矿 丨  Android应用测试速查表 丨 黑客销售签名证书 -1-   [人工智能]女主换 ...

  9. .NET Core 微服务架构 Steeltoe 使用(基于 Spring Cloud)

    阅读目录: 1. Spring Cloud Eureka 注册服务及调用 2. Spring Cloud Hystrix 断路器 3. Spring Cloud Hystrix 指标监控 4. Spr ...

  10. 【RL-TCPnet网络教程】第22章 RL-TCPnet之网络协议IP

    第22章      RL-TCPnet之网络协议IP 本章节为大家讲解IP(Internet Protocol,网络协议),通过前面章节对TCP和UDP的学习,需要大家对IP也有个基础的认识. (本章 ...