首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

django+ mysql 以前用 tar -zcvf xxx.tar.gz 打包备份的 mysql 数据库。现在换到别的服务器都无法使用了

  •  
  •   python30 · 151 天前 · 1190 次点击
    这是一个创建于 151 天前的主题,其中的信息可能已经有所发展或是发生改变。

    系统是 centos 7

    以前用 tar -zcvf xxx.tar.gz 打包备份的 mysql 数据库。现在换到别的服务器都无法使用了

    都提示: (1146, "Table 'aabbcc2020.cc_topic' doesn't exist")

    现在知道原来也需要打抱上面的 ibdata1 才可以

    那现在我以前打包的 mysql 数据库还有救吗?

    ps: 大家都是怎么备份 centos 上的 mysql 数据库的。

    13 回复  |  直到 2019-03-24 15:03:51 +08:00
        1
    CallMeReznov   151 天前
    mysqldump

    楼主这个莽的方式有点无从说起吧
    是什么导致你作出你之前的操作的?
        2
    wd   151 天前 via iPhone
    你这不是提示表么有么 没打包全数据?
        3
    Seahurt   151 天前 via Android
    用的 django+pgsql,备份也是直接打包目录……没出过问题
        4
    msg7086   151 天前
    当然 mysqldump。谁告诉你打包文件是备份手段的……而且还不打全? data 都不打你备份个啥。
        5
    python30   151 天前
    @CallMeReznov
    @msg7086
    @wd

    /var/lib/mysql 下面
    有 ibdata1 ib_logfile0 ib_logfile1 mysql dataabcxx(数据库 1) dataabcxx22(数据库 2) 等文件

    我备份的时候。只打包了 dataabcxx(数据库 1) dataabcxx22(数据库 2) 这两个数据库

    其它的都没打包,我以前用 centos 默认安装的 mysql 版本的的时候 用的 utf8 编码 这样打包可以

    现在我 的 mysql 版本换成了 5.6 版本的 utf8mb4 再这样打包就不行了。

    前些天我也是刚知道 需要打包 ibdata1 这个一起好像。

    只是现在想问问 以前没打包 ibdata1 的那些数据库还有救不?
        6
    msg7086   151 天前
    @python30 InnoDB 的表空间数据是存在 ibdata 里的。不打包 ibdata 就等于没打包数据。表结构是在的,数据你没打的话上哪找去。
        7
    python30   151 天前
    @msg7086
    那是没救了

    如果 上面我说的 dataabcxx(数据库 1) dataabcxx22(数据库 2) 两个要备份。要分别 备份 dataabcxx(数据库 1) +ibdata dataabcxx22(数据库 2) +ibdata 这样?

    如果要把这些数据同时转移到另一台同类的服务器。
    那上面的 ibdata 只能有一个。 这两台服务器上的 ibdata 要怎么合并呢?
        8
    yghack   151 天前
    ibdata 无法合并吧?
    用 mysqldump 把,或者使用 mydumper,Innobackupex,这样不需要 ibdata 文件
        9
    msg7086   151 天前
    @python30 ibdata 本来就不能单独备份。老老实实用 mysqldump 不好吗?一定要坚持走歪门邪道?

    文件复制只能用于整个数据库服务器完整迁移的情况。
        10
    jhdxr   151 天前
    补充 @msg7086 的回答,以前 myisam 的确拷贝文件备份就行,但 innodb 一般不推荐通过拷贝文件来进行备份。虽然可以通过配置吧数据存成每个表单独的(这样就可以存在对应的库的文件夹下),但是依然不推荐通过拷贝文件来备份。
        11
    hzwjz   151 天前 via Android
    django 有自己的 dumpdata,干嘛不用呢?以前我也用这个方式,用 Django 自己的 dumpdata/loaddata 不好吗
        12
    claysec   151 天前
    最简单的用 mysqldump 再不济用工具辅助 Navicat Premium 吧
        13
    aru   150 天前
    没戏!
    当年我年少无知出过同样的错,将一个 wiki 搞丢了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2067 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 15:51 · PVG 23:51 · LAX 08:51 · JFK 11:51
    ♥ Do have faith in what you're doing.