• 云途科技成立于2010年 - 专注全球跨境电商服务器租赁托管!
  • 帮助中心

    您可以通过下方搜索框快速查找您想知道的问题

    通过拷贝frm myd myi opt文件来实现mysql的备份和还原

      in  数据库      Tags: 

    不知道大家有没有想过,我们向mysql数据库中写入了数据,这些数据存放在什么地方。在linux下手动编译安装过mysql的人,我想会知道存放在什么地方,mysql_install_db有这一步操作,他是产生mysql自带的数据库,执行了这一步操作后,你可以到/mysql安装目录/data(这个数据目录,可以从my.cnf中查到datadir) 目录下面就会出一个mysql的文件夹。

    一,frm myd myi opt的解释

    1,.frm保存的是描述了表的结构

    2,.MYD保存的是表的数据记录

    3,.MYI保存的是表的索引 

    4,.opt保存的是数据库的字符集

    [root@BlackGhost test]# ls |grep opt | xargs cat
    default-character-set=utf8
    default-collation=utf8_general_ci

    二,备份数据库

    创建一个数据库,create database test;这个时候去data目录下面看看,会产生一个test文件夹,里面只有一个db.opt文件,然后你在创建一些表,添加一些数据后,你在去data/test下面看看,里面多了一些.frm,.myd的文件

    tar czvf /home/databak/test.tar.gz /usr/local/mysq/data/test

    这样就备份好了

    三,还原数据库

    1,进入test数据库

    use test;
    show tables;

    在这儿你会看到,你新增加的表。

    2,删除data/test目录下面的frm,myd,myi这三种类型的文件

    use test;
    show tables;

    这个时候,一张表都没有。

    3,还原表

    tar zxvf /home/databak/test.tar.gz -C /usr/local/mysq/data

    4,在查看test的表

    use test;
    show tables;

    这个时候,新增加的表又出来了。

    如果是直接把data下面的test目录删除掉的话,就重新create database test;会产生一个新的test目录,然后在把备份的数据,还原过来就行了。个人觉得这种备份比较好,导出,导入比较麻烦,不用记得备份命令,只要会copy就行了。在不改变数据库配置的前提下,这种备份,还原基本上不会出现乱码的。



    • 外贸虚拟主机

      1GB硬盘

      2个独立站点

      1000M带宽

      不限制流量

      美国外贸专用虚拟主机,cPanel面板,每天远程备份.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥180/年

    • 美国/荷兰外贸VPS

      2核CPU

      1G内存

      30硬盘

      10M带宽

      美国/荷兰外贸云服务器,专注外贸服务器行业12年.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥99/月

    • 全球外贸服务器

      8核CPU

      32G内存

      1TB硬盘

      1000M带宽

      已部署数据中心:美国洛杉矶/亚特兰大、荷兰、加拿大、英国伦敦、德国、拉脱维亚、瑞典、爱沙尼亚
      自有机柜(全球九大数据中心),稳定在线率:99.9%

      ¥999/月 原价1380

    7*24小时 在线提交工单

    如果您的问题没有得到解决,推荐您在线提交工单,我们的客服人员会第一时间为您解决问题

    展开