• 数据库三(备份与还原的几种基本操作)


     

    数据的备份与恢复(在根目录下去重启备份数据,不过感觉说得不太清楚,有空再看看旧书;

    方法一:在备份前停掉MySQL服务(在资源管理器中),在操作系统基表备份数据库

                文件,备份MySQL安装目录下的data文件中的数据库文件。重启MySQL服务,

                备份重启以后生成的binlog。用mysqlbinlog恢复来自备份的binlog。

                           (在根目录下备份)

                    说明:在此之前要对相关的数据表进行上锁操作,即执行LOCK TABLES。

                       如:lock tables student read;//对某数据库中的Student表先上一个读锁。

                    目的:当数据库目录中做文件被拷贝时,还允许其他线程继续查询表;当数据

                             恢复时,需要做一个写锁定,以免冲突。(上锁,安全有序)

     

    方法二:用SQL语句备份和恢复(用sql语句将库中表的备份和恢复

                语法结构:select *  into {OUTFILE | DUMPFILE} file_name FROM tb1_name

                               LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE file_name.txt

                                [REPLACE | IGNORE]  INTO TABLE tb1_name//这有个缺点,必须要表结构完整

     

                  例子1:备份course表,而且该表有一个primary key或unique索引。

                           step1:锁定数据表,避免在备份过程中表被更新。mysql>lock tables course read;

                           step2:导出数据。  mysql>select * into outfile ‘course.bak’ from course;

                           step3:解锁表。  unlock tables;

                  例子2:恢复course表的备份

                           step1:为表增加一个写锁定。 mysql>lock tables course write;

                           step2: 恢复数据。                mysql>load data infile ‘coursee.bak’

                                                                              replace into table course;

                                                                    mysql>load data low_priority infile ‘coursee.bank’

                                                                              replace into table course;

                                                                           //若指定了 low_priority,就不必上锁

                           step3:解锁表。                     mysql>unlock tables;

     

    方法三:使用mysqlimport恢复数据(shell上恢复数据

                                   shell>mysqlimport[options] db_name filename…

     

                    例子:恢复数据库db1中的表tbl1的数据,保存数据的文件为tbl1.bak,在服务器主机上恢复过程如下:

                    shell>mysqlimport———lock—tables—replace db1 tbl1.bak 

                  //在恢复数据之前对表锁定或用low-priority选项:shell>mysqlimport——low——priority—replace db1.bak

     

    方法四:用mysqldump备份数据(服务器、客户机上备份数据库

                            mysqldump db_name   //在服务器上备份数据 

                            mysql -u root - pmypass db_name>db_name.sql // 在客户机备份数据库

     

     

     

    多练习和总结,否则和复制过来的没有区别

                            

     

     

              

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    成年人的世界没有那么多的童话,也没有那么多的逆袭。
  • 相关阅读:
     一、cocos2dx之如何优化内存使用(高级篇)
    latex模版&&c++ STL用法&&画图网站
    HDU 3480 Division
    HDU 3045 Picnic Cows
    HDU 2993 MAX Average Problem
    HDU 3507 Print Article
    Luogu P2900 [USACO08MAR]土地征用Land Acquisition
    浅谈斜率优化
    POJ 2559 Largest Rectangle in a Histogram
    【计算几何】求半平面交的面积
  • 原文地址:https://www.cnblogs.com/shijinglu2018/p/8672699.html
Copyright © 2020-2023  润新知