iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL复制数据库
  • 504
分享到

MySQL复制数据库

2024-04-02 19:04:59 504人浏览 泡泡鱼
摘要

Mysql复制数据库的办法非常多。针对不同的场景,选择相应的办法。在可以停止写入,不用保证数据一致性,需要速度的情况下,可以通过物理复制的办法。以下给出脚本: #!/bin/bash datadir=/da

Mysql复制数据库的办法非常多。针对不同的场景,选择相应的办法。
在可以停止写入,不用保证数据一致性,需要速度的情况下,可以通过物理复制的办法。以下给出脚本:

#!/bin/bash
datadir=/data/mysql
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/usr/local/mysql/bin

usage(){
echo -e "Usage: $0 db1 db2\nCopy db1 to db2.\nNote: if db2 exists,drop and recreate it."
exit 1
}
if [ $# -ne 2 ]; then usage; fi

[ -d ${datadir}/$2 ] && rm -rf ${datadir}/$2/*
mysql --login-path=recover -e "drop database if exists $2;create database $2;"
for i in `ls -1 ${datadir}/$1/ | grep .ibd | awk -F '.' '{print $1}'`
do
mysql --login-path=recover -e "create table $2.$i like $1.$i;ALTER TABLE $2.$i DISCARD TABLESPACE;flush tables $1.$i for export;system cp -pf ${datadir}/$1/$i.{ibd,cfg} ${datadir}/$2/; unlock tables;" 
mysql --login-path=recover -e "set foreign_key_checks=0;alter table $2.$i import tablespace;analyze table $2.$i;" 
done
rm -rf ${datadir}/*cfg
exit 0

具体实现可以参阅官方文档。

其中实现很简单,但过程发现了一些有意思的东西。
开始的时候,脚本中并没有[ -d ${datadir}/$2 ] && rm -rf ${datadir}/$2/*这一句。在第一次执行脚本没什么毛病。但是,当对源库修改后,再次执行,这个时候目标库定了。查看进程发现System lock,错误日志提示Orphan table encountered during DROP DATABASE. This is possible if 'db2/t1.frm' was lost。
MySQL复制数据库

MySQL复制数据库
这个MySQL服务不能正常shutdown,通过kill掉进程重启。
重启服务过后,仍然不能删除目标库。需要删除目标库目录下的所有文件,可删除目标库。

以上问题在5.6系列会发生,5.7和8.0系列并无此问题。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL复制数据库

本文链接: https://www.lsjlt.com/news/40464.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql如何复制数据库
    本篇文章为大家展示了mysql如何复制数据库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。mysql如何复制数据库1.在DOS窗口下mysql -u root -p...
    99+
    2024-04-02
  • mysql数据库如何复制表
    在MySQL中,可以使用CREATE TABLE … SELECT语句来复制表。下面是一个示例: CREATE TABLE ...
    99+
    2024-04-09
    mysql
  • 如何将SQLServer2008的数据复制到MySQL数据库
    这篇文章主要讲解了“如何将SQLServer2008的数据复制到MySQL数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何将SQLServer200...
    99+
    2024-04-02
  • 【数据库】MySQL的主从复制模式
    MySQL的主从复制模式包括异步复制,全同步复制,半同步复制。MySQL默认为异步模式。MySQL5.7引入了一种新的半同步方案,并且在5.7引入了一个新的参数,rpl_semi_sync_master_wait_point,这个参数有...
    99+
    2023-09-17
    数据库 mysql java
  • mysql数据库AB复制如何配置
    这篇文章主要介绍了mysql数据库AB复制如何配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用俩台mysql服务器实现AB,主从复制。...
    99+
    2024-04-02
  • Mysql中复制数据库的两种方法
    方法一:使用mysqldump 创建新的数据库 create database new_db 同一个mysql服务器复制数据库方法 mysqldump old_db -u 账户 -p密码 | mys...
    99+
    2023-09-24
    数据库 mysql database
  • mysql复制数据库的方法是什么
    MySQL复制数据库的方法有多种,以下是其中一种常用的方法: 使用mysqldump命令备份源数据库: mysqldump -u...
    99+
    2024-04-09
    mysql 数据库
  • MySQL数据库中怎么实现多主复制
    这篇文章给大家介绍MySQL数据库中怎么实现多主复制,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。MySQL 管理每个复制通道,都是通过一个Master_info类(sql/rpl_m...
    99+
    2024-04-02
  • MySQL数据库中怎么实现复制操作
    MySQL数据库中怎么实现复制操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 MySQL数据...
    99+
    2024-04-02
  • Mysql数据库主从复制的实现原理
    这篇文章主要介绍“Mysql数据库主从复制的实现原理”,在日常操作中,相信很多人在Mysql数据库主从复制的实现原理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql数...
    99+
    2024-04-02
  • MySQL数据库主从复制与读写分离
    目录一.主从复制主从复制三线程主从复制的过程:主从复制的策略:主从复制高延迟二.读写分离读写分离概念读写分离原因与场景总结一.主从复制        主从复制:在实际的生产中,为了解...
    99+
    2024-04-02
  • 将 MySQL 数据库复制到另一台机器
    当数据库需要在不同架构之间传输时,可以使用 mysqldump 创建文件。该文件将包含 SQL 语句。文件传输可以从一台机器到另一台机器,并且该文件可以用作“mysql”客户端的输入。在两台机器之间移动数据库一种方法在两台机器之间移动数据库...
    99+
    2023-10-22
  • Mysql数据库的主从复制是怎样的
    这篇文章将为大家详细讲解有关Mysql数据库的主从复制是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。需求在实际生产环境中,如果对数据库的读写都在同一...
    99+
    2024-04-02
  • 怎么复制Hana数据库
    这篇文章主要介绍“怎么复制Hana数据库”,在日常操作中,相信很多人在怎么复制Hana数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么复制Hana数据库”的疑惑有所帮...
    99+
    2024-04-02
  • postgresql数据库|数据库实操----表复制详解
    前言: 通常情况下,我们对数据库的增删改查的时候,为了确保数据的安全,需要备份表,那么,一种方法是通过pg_dump 这个工具做SQL转储操作,此方法比较复杂,麻烦,但十分的安全,可靠性也基本是百分百,但对于大表备份,十分耗时并且可能有锁表...
    99+
    2023-10-27
    数据库 postgresql mysql oracle 运维
  • mysql数据库如何恢复数据
    mysql 数据恢复有四种方法:从备份恢复:最简单可靠,适合定期备份数据库的情况。使用 mysql 恢复工具:适用于没有备份或备份已损坏的情况。从二进制日志恢复:适用于二进制日志记录并数...
    99+
    2024-04-14
    mysql
  • 如何恢复MySQL数据库数据
    这篇文章将为大家详细讲解有关如何恢复MySQL数据库数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、恢复方案1、数据量不是特别大,可以将mysqldu...
    99+
    2024-04-02
  • mysql怎么复制数据库到另一台电脑
    要将MySQL数据库复制到另一台电脑,可以使用以下步骤: 在源数据库服务器上使用mysqldump命令导出数据库结构和数据到一个S...
    99+
    2024-04-09
    mysql 数据库
  • mysql将数据库的所有表结构和数据复制到另一个库
    要将一个MySQL数据库的所有表结构和数据复制到另一个数据库,可以使用以下步骤: 在目标数据库中创建一个空的数据库。例如,假设要将名为olddb的数据库复制到名为newdb的新数据库中,可以使用以下语...
    99+
    2023-09-02
    数据库 mysql sql
  • MySQL主从复制之延迟型数据复制
       让MySQL拓扑中的从节点延迟适当的时间,可以帮助避免在主节点上发生的灾难性的错误。    MASTER_DELAY这个属性指定SQL_THREAD会在从节点...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作