当前位置:首页 » 操作系统 » mysql拷贝数据库

mysql拷贝数据库

发布时间: 2022-05-03 00:00:01

㈠ 如何将mysql数据库复制到另一台服务器

将原机器上的mysql/data下的你的数据库目录整个拷贝下来。
将新机器上的mysql服务停止。
找到新机器上的mysql/data目录,将你拷贝的目录粘贴进去,然后启动mysql服务就可以了。

㈡ 如何将mysql的一个完整数据库全部复制到另外一个数据库

mysql有个目录叫data,里面有与每个数据库名一样的目录,目录里存的就是数据文件,复制即可

㈢ 怎么才能完整复制MySQL数据库

有两种办法。

1、在B机器上装mysql。
将A机器上的mysql/data下的你的数据库目录整个拷贝下来。
将B机器上的mysql服务停止。
找到B机器上的mysql/data目录,将你拷贝的目录粘贴进去,然后启动mysql服务就可以了。
2、使用SQL语句备份和恢复
你可以使用SELECT INTO OUTFILE语句备份数据,并用LOAD DATA INFILE语句恢复数据。这种方法只能导出数据的内容,不包括表的结构,如果表的结构文件损坏,你必须要先恢复原来的表的结构。
语法:
SELECT * INTO {OUTFILE ¦ DUMPFILE} ’file_name’ FROM tbl_name
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE ’file_name.txt’ [REPLACE ¦ IGNORE]
INTO TABLE tbl_name
SELECT ... INTO OUTFILE ’file_name’
在dos命令提示符下使用mysqlmp命令进行备份.
如下:
C:\Documents and Settings\Administrator>mysqlmp yinshi >c:\\backup.txt -uroot
-p12142022

㈣ 如何复制mysql数据库到另一台电脑上

有两种办法。 1、在B机器上装mysql。 将A机器上的mysql/data下的你的数据库目录整个拷贝下来。 将B机器上的mysql服务停止。 找到B机器上的mysql/data目录,将你拷贝的目录粘贴进去,然后启动mysql服务就可以了。 2、使用SQL语句备份和恢复 你可以使用SELECT INTO OUTFILE语句备份数据,并用LOAD DATA INFILE语句恢复数据。这种方法只能导出数据的内容,不包括表的结构,如果表的结构文件损坏,你必须要先恢复原来的表的结构。 语法: SELECT * INTO {OUTFILE ¦ DUMPFILE} ’file_name’ FROM tbl_name LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE ’file_name.txt’ [REPLACE ¦ IGNORE] INTO TABLE tbl_name SELECT ... INTO OUTFILE ’file_name’ 在dos命令提示符下使用mysqlmp命令进行备份. 如下: C:\Documents and Settings\Administrator>mysqlmp yinshi >c:\\backup.txt -uroot -p12142022

㈤ 如何从一个mysql拷贝数据库到另一个mysql

可以想到的主要有两种方法:
1.先通过mysqmp将需要的数据导出到sql文件中,再通过mysql -uxxx -p -hxxx.xxx.x.xxx db2 < xx.sql的方式导入到数据库中。
2.数据量不大可以自己写个脚本,如果数据量很大,可以先直接将MYI,MYD,FRM文件直接传到目标服务器的mysql对应的目录下。然后等mysql自动检查和修复数据后,就可以直接使用。

㈥ 怎么复制MySQL数据库

项目上 MySQL还原 SQL 备份经常会碰到一个错误如下,且通常出现在导入视图、函数、存储过程、事件等对象时,其根本原因就是因为导入时所用账号并不具有SUPER 权限,所以无法创建其他账号的所属对象。ERROR 1227 (42000) : Access denied; you need (at least one of) the SUPER privilege(s) for this operation常见场景:1. 还原 RDS 时经常出现,因为 RDS 不提供 SUPER 权限;2. 由开发库还原到项目现场,账号权限等有所不同。

处理方式:

1. 在原库中批量修改对象所有者为导入账号或修改SQL SECURITY为Invoker;2. 使用 mysqlmp 导出备份,然后将 SQL 文件中的对象所有者替换为导入账号。
二、问题原因我们先来看下为啥会出现这个报错,那就得说下 MySQL 中一个很特别的权限控制机制,像视图、函数、存储过程、触发器等这些数据对象会存在一个DEFINER和一个SQL SECURITY的属性,如下所示:

  • --视图定义CREATEALGORITHM=UNDEFINEDDEFINER=`root`@`%`SQLSECURITYDEFINERVIEWv_test


  • --函数定义CREATEDEFINER=`root`@`%`FUNCTION`f_test()`RETURNSvarchar(100)SQLSECURITYDEFINER


  • --存储过程定义CREATEDEFINER=`root`@`%`PROCEDURE`p_test`()SQLSECURITYDEFINER


  • --触发器定义CREATE DEFINER=`root`@`%` trigger t_test


  • --事件定义CREATE DEFINER=`root`@`%` EVENT `e_test`

  • DEFINER:对象定义者,在创建对象时可以手动指定用户,不指定的话默认为当前连接用户;

  • SQL SECURITY:指明以谁的权限来执行该对象,有两个选项,一个为DEFINER,一个为INVOKER,默认情况下系统指定为 DEFINER;DEFINER:表示按定义者的权限来执行;INVOKER:表示按调用者的权限来执行。

  • 如果导入账号具有 SUPER 权限,即使对象的所有者账号不存在,也可以导入成功,但是在查询对象时,如果对象的SQL SECURITY为DEFINER,则会报账号不存在的报错。ERROR 1449 (HY000): The user specified as a definer ('root'@'%') does not exist



  • 改写好处:1. 可以避免还原时遇到 DEFINER 报错相关问题;2. 根据输出信息知道备份是否正常进行,防止备份中遇到元数据锁无法获取然后一直卡住的情况。

㈦ 如何复制mysql数据库到另一台电脑上

这种架构一般用在以下三类场景
1. 备份多台 Server 的数据到一台如果按照数据切分方向来讲,那就是垂直切分。比如图 2,业务 A、B、C、D 是之前拆分好的业务,现在需要把这些拆分好的业务汇总起来备份,那这种需求也很适用于多源复制架构。实现方法我大概描述下:业务 A、B、C、D 分别位于 4 台 Server,每台 Server 分别有一个数据库来隔离前端的业务数据,那这样,在从库就能把四台业务的数据全部汇总起来,而不需要做额外的操作。那没有多源复制之前,要实现这类需求,只能在汇总机器上搭建多个 MySQL 实例,那这样势必会涉及到跨库关联的问题,不但性能急剧下降,管理多个实例也没有单台来的容易。

热点内容
阿里云香港服务器被墙 发布:2024-10-06 06:45:46 浏览:229
标签匹配算法 发布:2024-10-06 06:37:23 浏览:221
云顶之弈脚本 发布:2024-10-06 06:37:23 浏览:765
jsp与javaweb 发布:2024-10-06 06:32:13 浏览:294
c语言修饰符 发布:2024-10-06 06:27:09 浏览:276
有解压密码的压缩包 发布:2024-10-06 06:18:46 浏览:72
分镜头脚本模板广告 发布:2024-10-06 06:18:44 浏览:14
大众迈腾车辆密码在哪里 发布:2024-10-06 06:05:51 浏览:673
access数据库乱码 发布:2024-10-06 06:05:18 浏览:322
光遇安卓音韵季有什么 发布:2024-10-06 05:06:51 浏览:76