北京SEO

MySQL快速复制数据表与数据库的方法

2019/10/10/17:35:43  阅读:1765  来源:谷歌SEO算法  标签: 微信公众号

复制数据表的方法有很多最,最简单的就直接把mysql data目录下的与你数据库相同的一起复制,这样数据表与库都复制过来了.

以下范例都是把 old_table 复制到 new_table,先讲讲结论,最推荐的作法是下述两行,代码如下:

  1. CREATETABLEnew_tableLIKEold_table;
  2. INSERTnew_tableSELECT*FROMold_table;

以下来讲讲几种作法和优缺点,MyISAM 的作法若比较暴力点的话,可以用下述方式做,代码如下:

  1. CREATETABLEnew_table;
  2. /etc/init.d/mysqlstop
  3. cd/var/lib/mysql/database_name
  4. cpold_table.MYInew_table.MYI
  5. cpold_table.MYDnew_table.MYD
  6. /etc/init.d/mysqlstart

这样子也可以复制完成,但是这么暴力有可能会有些小问题要解决.

下述作法会比较建议,参考自此篇,sql - fastest way to copy a table in mysql, 不过有下述两种作法,有些不同,先写出作法,再来解释差异.

以下 old_table 若跨 DB, 都可以写成 old_db.old_table 来指定.

第一种作法:一行语法复制 Table + Data,不过需要手动增加 Primay、index key 等,代码如下:

1.CREATE TABLE new_table SELECT * FROM old_table; # 这个作法 Primay、index key 都不会复制,需要手动加.

2.ALTER TABLE new_table ADD PRIMARY KEY (id);

第二种作法:先复制 Table schema,再来 INSERT Data.(建议使用此作法,Schema 一定是一模一样的),代码如下:

  1. CREATETABLEnew_tableLIKEold_table;
  2. INSERTnew_tableSELECT*FROMold_table;

先来讲讲第一种作法,此作法 Schema 可能不同,Data 是会正确复制过来的,代码如下:

CREATE TABLE new_table SELECT * FROM old_table;

此行会把 Table 和 Data 都复制到 new_table, 但是 Table 使用的 Engine、语系编码 会跟 MySQL 预设的一样,而不是 Copy old_table 的. 结果可能就会是下述的状况: 要看你的系统设定而定,old_table 和 new_table 的 schema 可能会不同,但是 Data 是一致的,代码如下:

  1. CREATETABLE`old_table`(
  2. `no`int(8)NOTNULL,
  3. `cname`varchar(255)DEFAULTNULL,
  4. PRIMARYKEY(`no`)
  5. )ENGINE=MyISAMDEFAULTCHARSET=utf8;
  6. CREATETABLE`new_table`(
  7. `no`int(8)NOTNULL,--phpfensi.com
  8. `cname`varchar(255)CHARACTERSETutf8DEFAULTNULL
  9. )ENGINE=InnoDBDEFAULTCHARSET=latin1;

第二种作法:此作法可以将 Schema 和 Data 都是一模一样的复制过来.

CREATE TABLE new_table LIKE old_table;

此行会完整复制 Table Schema, 先复制完 Table Schema 后,再来把资料一笔一笔 INSERT 进去.

广告内容

MySQL快速复制数据表与数据库的方法 MySQL快速复制数据表与数据库的方法 MySQL快速复制数据表与数据库的方法

相关阅读

热门评论

小潘seo 小潘seo

重庆小潘seo博客和你一起学习SEO知识,共同分享SEO优化~

总篇数165

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法