zoukankan      html  css  js  c++  java
  • python-day47--mysql数据备份与恢复

    一、IDE工具介绍

    掌握:
    #1. 测试+链接数据库
    #2. 新建库
    #3. 新建表,新增字段+类型+约束
    #4. 设计表:外键
    #5. 新建查询
    #6. 备份库/表
    
    #注意:
    批量加注释:ctrl+?键
    批量去注释:ctrl+shift+?键

    二、MySQL数据备份

    #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows(要求平台一致)。
    #2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。
    #3. 导出表: 将表导入到文本文件中。

    1.使用mysqldump实现逻辑备份

    #语法:
    # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql
    
    #
    #单库备份
    mysqldump -uroot -p123 db1 > D:\db1.sql
    mysqldump -uroot -p123 db1 table1 table2 > D:\db1-table1-table2.sql   #备份表
    
    #多库备份
    mysqldump -uroot -p123 --databases db1 db2 mysql db3 >D:\ db1_db2_mysql_db3.sql
    
    #备份所有库
    mysqldump -uroot -p123 --all-databases > D:\all.sql

    2.恢复逻辑备份

    #方法一:
    mysql -uroot -p123 day47< D:\day47.sql      (要提前有day47 库)
    
    #方法二:
    create database day47;
    use day47;
    source D:\day47

    3.在不进入数据库的情况下查看数据库内的数据

    4.数据库迁移(扩展了解)

    务必保证在相同版本之间迁移
    # mysqldump -h 源IP -uroot -p123 --databases db1 | mysql -h 目标IP -uroot -p456

    5.表的导出和导入

    SELECT... INTO OUTFILE 导出文本文件
    示例:
    mysql> SELECT * FROM school.student1
    INTO OUTFILE 'student1.txt'
    FIELDS TERMINATED BY ',' //定义字段分隔符
    OPTIONALLY ENCLOSED BY '' //定义字符串使用什么符号括起来
    LINES TERMINATED BY '
    ' ; //定义换行符
    
    
    mysql 命令导出文本文件
    示例:
    # mysql -u root -p123 -e 'select * from student1.school' > /tmp/student1.txt
    # mysql -u root -p123 --xml -e 'select * from student1.school' > /tmp/student1.xml
    # mysql -u root -p123 --html -e 'select * from student1.school' > /tmp/student1.html
    
    LOAD DATA INFILE 导入文本文件
    mysql> DELETE FROM student1;
    mysql> LOAD DATA INFILE '/tmp/student1.txt'
    INTO TABLE school.student1
    FIELDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY ''
    LINES TERMINATED BY '
    ';

  • 相关阅读:
    解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG
    pywin32安装教程
    Python 3.7 安装Twisted
    富文本编辑器 kindeditor
    git push命令
    git commit命令
    git取别名配置
    kubeadm部署kubernetes v1.14.1高可用集群
    使用Operator部署Prometheus监控k8s集群
    Kickstart批量安装centos7
  • 原文地址:https://www.cnblogs.com/liuwei0824/p/7520871.html
Copyright © 2011-2022 走看看