• 网站论坛搬家之数据库备份,mysql数据库的导出与备份方法总结。


    近期我需要做一分工作是将一个论坛从GO的空间转进新服务器中。而数据库又相对而言还是比较大的,1G左右的数据库,在服务器上可以说不大,而在空间上,下载备份可想而知。我现在的网速电信的8M要下载的话还是需要一点时间的,然后大家也许都知道phpmyadmin能不能给力的让你下载1G的数据还是个问题。在这种情况下,没有办法了只能硬着头皮下了。
    但回顾一下mysql数据库的备份有几个方法,1,利用程序软件工具,比如帝国的备份王,但是空间商已经暂停了空间的使用,显然无效。
    2.利用,mysqldump 显然也是不行的,因为我没办法通过SSH进入mysql的终端,mysqldump -u 用户名 -p 数据库名 > 数据库文件名.sql
    mysql -u 用户名 -p 数据库名 < 数据库文件名.sql。
    所以这段命令也是无用的。那怎么办,只能通过SELECT INTO OUTFILE语句备份数据,并用LOAD DATA INFILE语句恢复数据。可是这种方法只能导出数据的内容,不包括表的结构,如果表的结构文件损坏,只能先恢复原来的表结构。这样的话很麻烦,暂时不考虑此方法,再看看有没有别的方法了。
    3.这数据库通过下载两个phpmyadmin后发现根本下不下来。。下载到250M后别想了。。也许有些人想到了 分割法,就是会行下载。可是这么大你分行下你怎么知道下载的数据完整性。有人会讲你多下次几次不就行了。每次下载的都是一样大小那就是完整的。 虽然这玩意大不算大,但对于空间来说还是不小的,毕竟phpmyadmin下载是要看服务器和本地的网络的。暂时认为这一方法可行。 也许下载本地是可行的。
    4.有人讲你不会在服务器下载。这个说得好,可是你要进图形界面,不然你还是和第二个方法一样,进行 mysqldump -u 用户名 -p 数据库名 > 数据库文件名.sql 这还不是费话嘛。。
    5.那么第二个后面的那个备份怎么搞的,我就简单的介绍一下 先导出你的全部信息

    SELECT * INTO {OUTFILE | DUMPFILE} 'file_name' FROM tbl_name LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
    INTO TABLE tbl_name

    如果表具有PRIMARY KEY或UNIQUE索引,那只能锁定数据表避免在备份过程中,表被更新 LOCK TABLES READ ###表;再解锁表
    接下来就要利用mysqlimport进行恢复数据,擦看来我今天只能通过phpmyadmin了。
    mysqlimport [options] db_name filename ...
    常用的选项为:
    -C, --compress 如果客户和服务器均支持压缩,压缩两者之间的所有信息。
    -d, --delete 在导入文本文件前倒空表格。
    l, --lock-tables 在处理任何文本文件前为写入所定所有的表。这保证所有的表在服务器上被同步。
    --low-priority,--local,--replace,--ignore分别对应LOAD DATA语句的LOW_PRIORITY,LOCAL,REPLACE,IGNORE关键字
    接下来再用mysqldump备份数据,这玩意就不要我说了,你懂的。
    最后表都生成好了,直接复制吧。。

  • 相关阅读:
    APP测试点总结
    总结了一些指针易出错的常见问题(四)
    总结了一些指针易出错的常见问题(三)
    总结了一些指针易出错的常见问题(二)
    C++/C头文件 .h和 .c
    今天研究了一下手机通信录管理系统(C语言)
    Android软件测试Monkey测试工具
    nio之netty3的应用
    java io之管道流
    java nio之Buffer
  • 原文地址:https://www.cnblogs.com/sheevy/p/2211238.html
Copyright © 2020-2023  润新知