zoukankan      html  css  js  c++  java
  • MYSQL数据库学习十八 数据库维护和性能提高

    18.1 数据备份

    可能造成数据损失的原因有:

    • 存储介质故障:保存数据库文件的磁盘设备损坏,用户没有数据库备份导致数据彻底丢失。
    • 用户的错误操作:如误删了某些重要数据,甚至整个数据库。
    • 服务器的彻底瘫痪:如数据库服务器彻底瘫痪,系统需要重建。

    1. 复制数据文件(只适合存储引擎为MyISAM的表)

    2. mysqldump

      1) 备份一个数据库

    mysqldump -u username -p dbname
        table1 table2 …tablen //如果没有参数table,表示备份整个数据库
        > backupname.sql

      2) 备份多个数据库

    mysqldump -u username -p --databases
        dbname1,dbname2,...,dbnamen
        > backupname.sql

      3) 备份所有数据库

    mysqldump -u username -p --all -databases
        > backupname.sql

     18.2 数据还原

     1. 复制数据文件 (只适合存储引擎为MyISAM的表)

    利用18.1.1中的备份文件将MySQL数据库服务器还原到备份时的状态。注意这种方式必须保证两个MySQL数据库的主版本号一致,才能保证两个MySQL数据库的文件类型是相同的。

     2. mysqldump

    mysqldump -u username -p [dname]<backupname.sql
    

     18.3 实现数据库表导出到文本文件

     通过数据库表的导出和导入操作,可以在MySQL数据库服务器与其他数据库服务器间(SQL SERVER、ORACLE)轻松移动数据。

     1. SELECT ... INTO OUTFILE

    SELECT [file_name] FROM table_name
        [WHERE condition]
        INTO OUTFILE 'file_name'[OPTION]
    

     

    OPTION 可以是下面6个值的任何一个。

    • FIELDS TERMINATED BY 'string':用来设置字段的分割符为字符串对象(string),默认值为" "。
    • FIELDS ENCLOSED BY 'char':用来设置括上字段值的字符符号,默认情况下不使用任何符号。
    • FIELDS OPTIONALLY ENCLOSED BY 'char':用来设置括上CHAR/VARCHAR/TEXT等字段值的字符符号,默认情况下不使用任何符号。
    • FIELES ESCAPED BY 'char':用来设置转义字符的字符符号,默认情况下使用""字符。
    • LINES STARING BY 'char':用来设置每行开头的字符符号,默认情况下不使用任何符号。
    • LINES TERMINATED BY 'string':用来设置每行结束的字符串符号,默认情况下使用" "字符串。

    2. mysqldump

    mysqldump -u root -pPassword -T file_directory dbname table_name[OPTION];
    

    OPTION 可以是下面4个值的任何一个。

    • --fields-terminated-by=string:用来设置字段的分割符为字符串对象(string),默认值为" "。
    • --fields-enclosed-by=char:用来设置括上字段值的字符符号,默认情况下不使用任何符号。
    • --fields-optionally-enclosed-by=char:用来设置括上CHAR/VARCHAR/TEXT等字段值的字符符号,默认情况下不使用任何符号。
    • --lines-terminated-by=string:用来设置每行结束的字符串符号,默认情况下使用" "字符串。

     3. mysql

    mysql -u root -pPassword -e "SELECT [file_name] FROM table_name" dbname>file_name;
    
  • 相关阅读:
    PHP时间戳常用转换
    redis基本指令
    P2501 [HAOI2006]数字序列
    P2679 子串
    P2759 奇怪的函数
    P6823 「EZEC-4」zrmpaul Loves Array
    P6631 [ZJOI2020] 序列
    P2887 [USACO07NOV]Sunscreen G
    P3287 [SCOI2014]方伯伯的玉米田
    拓展欧几里得算法揭秘
  • 原文地址:https://www.cnblogs.com/zengzhihua/p/4623999.html
Copyright © 2011-2022 走看看