不需手动锁表同步mysql数据库

   确保系统安装有perl-DBD-mysql

  Yum install perl-DBD-mysql

  安装xtrabackup

  Xtrabackup 2.1以后的版本不支持innodb引擎,因此需要下载2.0.*的版本。

  Wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2.0.7/RPM/rhel5/x86_64/percona-xtrabackup-2.0.7-552.rhel5.x86_64.rpm

  执行 rpm –ivh percona-xtrabackup-2.0.7-552.rhel5.x86_64.rpm很容易就安装好所需的包。

  执行备份

  1、确保源数据库处于启动状态

  2、执行指令

  innobackupex --user=yourDBuser --password=MaGiCdB1 --defaults-file=/etc/my.cnf <备份目录>

  备份目录是任意足够大的分区

  3、检查备份目录,是否产生数据

  压缩和传输文件

  1、tarczvf backdir.gz backup

  2、scpbackdir.gz ip:/dir

  恢复数据(在目标数据库执行)

  1、cd dir

  2、tar xvzf backdir.gz

  3、确保 /etc/my.cnf文件有行 datadir=dir

  4、确保数据库目录为空

  5、执行 innobackupex --apply-log <备份目录>

  6、执行 innobackupex --copy-back --defaults-file=/etc/my.cnf <备份目录>

  数据同步

  1、启动mysql

  2、执行 mysql主从同步

时间: 2024-12-21 19:59:44

不需手动锁表同步mysql数据库的相关文章

【转】利用optimize、存储过程和系统表对mysql数据库表进行批量碎片清理释放表空间

本文收集于本人的笔记本,由于找不到原文出处.在此省略,如哪位知道可以联系我加上. 核心是利用mysql系统表和"optimize table 表名"命令,对mysql数据表进行空间的释放.由于delete和drop table都不会释放表空间(truncate 命令会释放表空间[将所有的数据都删除]),所以需要利用optimize 命令进行释放. 这个存储过程目的是给一个库的所有表来整理碎片的.一个表随着插入很频繁,或者一直更新不停的,就会积累好多碎片.如果及时整理一下,查询效率会高出

详解MySQL数据库设置主从同步的方法_Mysql

简介 MySQL主从同步是目前使用比较广泛的数据库架构,技术比较成熟,配置也不复杂,特别是对于负载比较大的网站,主从同步能够有效缓解数据库读写的压力. MySQL主从同步的机制: MySQL同步的流程大致如下:      1.主服务器(master)将变更事件(更新.删除.表结构改变等等)写入二进制日志(master log).      2.从服务器(slave)的IO线程从主服务器(binlog dump线程)获取二进制日志,并在本地保存一份自己的二进制日志(relay log)     

MySQL 数据库两台主机同步实战(linux)_Mysql

当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知下一次更新. 在实际项目中,两台分布于异地的主机上安装有MySQL数据库,两台服务器互为主备,客户要求当其中一台机器出现故障时,另外一台能够接管服务器上的应用,这就需要两台数据库的数据要实时保持一致,在这里使用MySQL的同步功能实现双机的同步复制. 以下是操作实例: 1.数据库同步设置 主机操作系统:RedHat Enterprise Lin

MySQL数据库的多表操作和备份处理

mysql|备份|数据|数据库 多表操作 在一个数据库中,可能存在多个表,这些表都是相互关联的.我们继续使用前面的例子.前面建立的表中包含了员工的一些基本信息,如姓名.性别.出生日期.出生地.我们再创建一个表,该表用于描述员工所发表的文章,内容包括作者姓名.文章标题.发表日期. 1.查看第一个表mytable的内容: mysql> select * from mytable; +----------+------+------------+-----------+ | name | sex |

php mysql-在php中从Excel表中向mysql数据库导入数据

问题描述 在php中从Excel表中向mysql数据库导入数据 请问:如何实现在php中从Excel表中向mysql数据库导入数据,要注意那些东西? 解决方案 http://www.jb51.net/article/26921.htm 解决方案二: http://blog.csdn.net/china_skag/article/details/7098473 解决方案三: http://blog.csdn.net/jiaocaigeng/article/details/9470571 解决方案四

检查并修复mysql数据库表的具体方法_Mysql

#!/bin/sh #code by scpman #功能:检查并修复mysql数据库表 #将此脚本加到定时中,脚本执行时,等会读库,列出要修复的所有表,然后计时,开始修复 #修复过程中将损坏的表记录下来,修复完成后,将损坏的表,发邮件通知. fix_logs='/tmp/fix.log' user='' pass='' check_fix() { dblist=`/usr/bin/find /usr/dlm_db/mysql/ -type d | grep -vE "logs|_[1-9]|*

Mysql数据库分库和分表方式(常用)_Mysql

本文主要给大家介绍Mysql数据库分库和分表方式(常用),涉及到mysql数据库相关知识,对mysql数据库分库分表相关知识感兴趣的朋友一起学习吧 1 分库 1.1 按照功能分库 按照功能进行分库.常见的分成6大库: 1 用户类库:用于保存了用户的相关信息.例如:db_user,db_system,db_company等. 2 业务类库:用于保存主要业务的信息.比如主要业务是笑话,用这个库保存笑话业务.例如:db_joke,db_temp_joke等. 3 内存类库:主要用Mysql的内存引擎.

MySQL数据库INNODB表损坏修复处理过程分享_Mysql

突然收到MySQL报警,从库的数据库挂了,一直在不停的重启,打开错误日志,发现有张表坏了.innodb表损坏不能通过repair table 等修复myisam的命令操作.现在记录下解决过程,下次遇到就不会这么手忙脚乱了. 处理过程: 一遇到报警之后,直接打开错误日志,里面的信息: InnoDB: Database page corruption on disk or a failed InnoDB: file read of page 30506. InnoDB: You may have t

新安装的MySQL数据库需要注意的安全知识_php技巧

在Unix(Linux)上,在按照手册的指令安装好MySQL后,你必须运行mysql_install_db脚本建立包含授权 表的mysql数据库和初始权限.在Windows上,运行分发中的Setup程序初始化数据目录和mysql数据库.假 定服务器也在运行. 当你第一次在机器上安装MySQL时,mysql数据库中的授权表是这样初始化的: 你可以从本地主机(localhost)上以root连接而不指定口令.root用户拥有所有权限(包括管理权限) 并可做任何事情.(顺便说明,MySQL超级用户与U