利用mysql-proxy 代理无法迁移数据库
一、什么是数据库迁移?
随着业务的增长或机器老化等原因,不可避免会碰到将数据库从一台机器迁移到另一台机器(集群)的问题。数据库迁移可分为冷迁(离线)和热迁(在线实时).
二、如何无缝迁移?
以旧库 192.168.0.101:3306 --> 迁移到192.168.0.102:3307 为例
离线迁移很简单.
.Shell>> mysqldump -uadmin -pxxxx --add-drop-database --database dbname1, dbname2, dbname3 > backup_data.sql # 利用mysqldump 命令导出数据库 . Shell>> sudo services mysqld stop # 导出后停掉远离数据库服务器,防止再写入. . Shell >> scp bakup_data.sql admin@192.168.0.102:/data/ # 将数据库上传到新机器. . mysql> source backup_data.sql # 登录新机器mysql后,用source命令导入即可.
4. 注意通过show tables, select count(*) 等语句检查一下数据一致性。
5. 开启mysql-proxy 将建立到旧库到新库的代理转发(视业务情况而定,也可直接前端修改源码数据库配置)。
Shell>> mysql-proxy -address 192.168.0.101: --proxy-backend-addresses 192.168.0.102: # 启动mysql-proxy代理,将请求转发到新库。
过一段时间确定无误后,可以将原来机器备份数据 backup_data.sql 删除,以节省空间。
=======
在线迁移,原理一样。只是在数据库导出到导入时,针对较大的数据库耗时较长或比较重要的实时在线业务,开启二进制日志记录,不必停用原有数据库。在上述第三步后,再增量备份一下。
3.1 查看记录点
mysql> show master status或 mysql>show binary logs; # 记住此时原来数据库记录点。(若没有,需要先在配置文件my.cnf中[mysqld]下加一行: log-bin=mysqlbin-log #打开binlog日志记录)
3.2 增量备份
shell>> mysqlbinlog --start-position= --stop-position= mybinlog. > newdata.sql # 将日志记录导出为sql文件.
mysql> source newdata.sql # 导入增量备份数据
利用mysql-proxy 代理无法迁移数据库的更多相关文章
- mysql proxy代理安装和配置
mysql proxy代理安装和配置 服务器说明: 192.168.1.219 mysql主库(主从复制) 192.168.1.177 mysql从库(主从复制) 192.168.1.202 ...
- Amoeba是一个类似MySQL Proxy的分布式数据库中间代理层软件,是由陈思儒开发的一个开源的java项目
http://www.cnblogs.com/xiaocen/p/3736095.html amoeba实现mysql读写分离 application shang 2年前 (2013-03-28) ...
- docker数据卷学习-利用数据卷实现mysql的快速恢复和迁移
docker数据卷学习 一 新建带有数据卷的容器 1.从docker hub下载centos7镜像 # docker pull centos 2. 创建container # docker run - ...
- mysql 客户无感知迁移_亿级账户数据迁移,不用数据库工具还能怎么搞?
原标题:亿级账户数据迁移,不用数据库工具还能怎么搞? 背景 在阿里巴巴内部"大中台,小前台"的组织和业务体制,使前线业务更加敏捷,赋能业务积极迎接未来挑战和机遇,在阿里大中台能力建 ...
- Mysql 该如何 Entity Framework 数据库迁移 和 如何更好的支持EntityFramework.Extended
问题 1.在使用EntityFramework访问Mysql的时候,使用迁移来生成数据库或者更新数据库时候会遇到一些问题 2.EntityFramework.Extended对Mysql的支持不是很完 ...
- 利用 Docker 备份、迁移数据库
原文地址:https://zeeko.1503.run/Article/17 最近在把腾讯云的国内主机迁移到香港主机,因为之前使用的 MySql 跟 MongoDb 都是基于 Docker 部署的,所 ...
- 使用mysql proxy对数据库进行读写分离
服务器安排如下: 192.168.100.128 主 192.168.100.129 从 192.168.100.130 mysql-proxy 1.在100.130中下载安装mysql-proxy ...
- C# 利用mysql.data 在mysql中创建数据库及数据表
C# 利用mysql.data 在mysql中创建数据库及数据表 using System; using System.Collections.Generic; using System.Linq; ...
- mysql proxy 数据库读写分离字符集乱码
mysql proxy 数据库读写分离字符集乱码 解决办法 在对应配置后端数据库服务器的配置.cnf中加入如下代码 init-connect='SET NAME UTF8' skip-characte ...
随机推荐
- 采用libsvm进行mnist训练
#coding:utf8 import cPickle import gzip import numpy as np from sklearn.svm import libsvm class SVM( ...
- QQ登入(4)QQ分享-内容转载
///////////////////QQ分享///////////// public void myclick3(View v){ //shareType : SHARE_TO_QQ_TYPE_IM ...
- 【转】svn服务器IP修改后,本地怎么跟新svn同步,svn relocate 操作
本文来源:http://www.kukaka.org/home/showonews/444 1.进入工作复本 cd ~/test 2.查看仓库地址(URL) svn info 路径: . URL ...
- css_样式样式器的分类
详情:http://www.w3school.com.cn/h.asp 1.标签样式器:此样式器仅对html页面中div标签有效果 div{ background-color: rosybrown; ...
- SQL SERVER 生成MYSQL建表脚本
/****** Object: StoredProcedure [dbo].[GET_TableScript_MYSQL] Script Date: 06/15/2012 13:05:14 ***** ...
- 远程访问linux环境安装图形界面问题解决汇总
本文内容转摘于其他网页,仅用于学习: 通常Linux出现 DISPLAY 尚未设置 解决方法,在root用户目录下执行#xhost +: [root@TEST144239 ~]# xhost + ac ...
- SPOJ #440. The Turtle´s Shortest Path
Coding a Dijkstra is not hard. %70 of my time spent on tackling TLE, as my last post. Dijkstra works ...
- Redis服务停止报错解决方案[NOAUTH Authentication required]
Redis服务器设置密码后,使用service redis stop 会出现以下信息: service redis stop Stopping ... OK (error) NOAUTH Authen ...
- IntelliJ IDEA中如何设置同时打开多个文件且分行显示?
Window→Editor Tabs→Tabs Placement→Show Tabs in Single Row 取消选中后即可在多行显示 下图为实际显示效果: 还可以自行设置打开文件窗口数(默认 ...
- Linux下生成patch和打patch
转自:http://blog.csdn.net/dl0914791011/article/details/17299103 通过diff工具生成补丁, patch工具打上补丁. 在使用diff之前, ...