sql - 复制 MySQL 数据库的最简单方法?

标签 sql mysql database

有谁知道将数据库从一台计算机复制到文件,然后将其导入另一台计算机的简单方法?

最佳答案

这里有几个选项:

mysqldump

最简单、保证有效的方法是使用 mysqldump。请在此处查看该实用程序的手册页:

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

基本上,它会转储重建数据库内容所需的 SQL 脚本,包括创建表、触发器和其他对象以及插入数据(这些都是可配置的,因此如果您已经在其他地方设置了模式,例如,您可以只转储数据)。

复制单个 MyISAM 表文件

如果您有大量数据并且您正在为要复制的表使用 MyISAM 存储引擎,您可以关闭 mysqld 并复制 .frm、.myd、和 .myi 文件从一个数据库文件夹到另一个数据库文件夹(甚至在另一个系统上)。这不适用于 InnoDB 表,并且可能适用于也可能不适用于其他存储引擎(我不太熟悉)。

mysqlhotcopy

如果您需要在数据库服务器运行时转储数据库的内容,您可以使用mysqlhotcopy(注意这只适用于 MyISAM 和 Archive 表) :

http://dev.mysql.com/doc/refman/5.0/en/mysqlhotcopy.html

复制整个数据文件夹

如果您要复制整个数据库安装,那么,所有数据库和每个数据库的内容,您只需关闭 mysqld,压缩整个 MySQL 数据目录,然后复制它到新服务器的数据目录。

这是(据我所知)将 InnoDB 文件从一个实例复制到另一个实例的唯一方法。如果您在运行相同操作系统系列和相同版本 MySQL 的服务器之间移动,这会很好地工作;它可能适用于在操作系统和/或 MySQL 版本之间移动;我不知道。

关于sql - 复制 MySQL 数据库的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1586911/

相关文章:

mysql - 计算具有 Like 条件的行数

sql - mysql在同一表的UPDATE中嵌套SELECT

mysql - 添加带有案例订单的总订单

mysql - 根据两个单独表中的条件从一个表中选择行

MongoDB 错误 : couldn't connect to server . .. 在 createPrivateMap 中打开/创建失败

php - 如何插入多条记录

c# - 构建动态 SQL 查询的最佳实践

java - JSP - 在 Eclipse 中,使用 MySQL 后端出现多个错误

Mysql 多重连接性能与 Django Rest Framework

php - 从数据库中存储的变量未在 HTML 页面上回显