zoukankan      html  css  js  c++  java
  • MySQL之IDE工具介绍及数据备份

    一、IDE工具介绍

    生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具

    下载链接:https://pan.baidu.com/s/1bpo5mqj

    二、MySQL数据备份

    #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境(
    如数据文件、控制文件、归档日志文件等)。
    但不能恢复到异构系统中如Windows。


    #
    2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。
    #3. 导出表: 将表导入到文本文件中。

    也可以用IDE工具来实现备份,点击转储SQL..,那我们重点来研究一下MySQLdump实现的逻辑备份

    1.使用mysqldump实现逻辑备份 

    #语法:
    # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql
    当你是本地登录的时候这个-h可以不写,当其他用户登录时,就得写上-h 服务器

    #示例:
    1.单库备份
    mysqldump -uroot -p123456 day47 > E:\day47.sql
    mysqldump -uroot -p123456 test class employee department > E:\test-c-e.sql
    2.多库备份
    mysqldump -uroot -p123456 --databases test db2 zuoye > E:\dbzzz.sql
    3.备份所有库
    mysqldump -uroot -p123456 --all-databases > E://all.sql
     

    2.恢复逻辑备份

    方法1.在没有登录进去之前恢复
    C:UsersAdministrator>mysql -uroot -p123456 test < day47.sql
    drop database day47;
    drop database test;
    create database day47;
    create database test;
    mysql -uroot -p123456 day47 < day47.sql
    mysql -uroot -p123456 test < day47.sql  #也可以在自己新建的空数据库里添加你备份的库
    方法2.mysql登录进去后恢复
    mysql> use db1;
    mysql> SET SQL_LOG_BIN=0;  #设置日志,如果写日志就等于1,不写就等于0。一般不用设置
    mysql> source E:\day47.sql;
    
    3.注:如果备份/恢复单个库时,可以修改sql文件
    DROP database if exists school;
    create database school;
    use school;

    在没有登录之前恢复是,如果你想看恢复了没有的时候是不是每次都要登录进去看看啊,那么我们可以这样做,就不用登录直接查看 了。

    不用再登录进去执行sql语句了
    mysql -uroot -e "use test;show tables;" #注意是双引号 mysql -uroot -e "show databases;" #注意分号在双引号里面
    注意事项:
    1. 完全恢复到一个干净的环境(例如新的数据库或删除原有的数据库)
    2. 恢复期间所有SQL语句不应该记录到binlog中

    3.表的导出与导入

    一、表的导出
    use day47
    select * from userinfo;
    select * from userinfo into outfile 'E:\userinfo.txt'  fields terminated
    by ',' lines terminated by '
    ';  #将字段之间按逗号分开,行之间用'
    '分开
    
    这样写的话报错了。新版本不支持你这样直接指定路径写,为了保证数据的安全。
    如果一旦有黑客拿到sql权限的时候,就把你的数据就给拿走了。你的数据就不安全了
    那么怎么解决这个错误呢?
    show variables like '%secure%';
    解决方法:更改配置文件
    [mysqld]
    secure_file_priv='E:\'

    二、表的导入
    use bak;
    show tables;
    create table user(id int primary key auto_increment,name char(20),age int,depart_id int);
    desc user;
    load data infile 'E:\userinfo.txt' into table user fields terminated by ',' 
    lines terminated by ' ';#导入表

    4.数据库迁移

    务必保证在相同版本之间迁移
    # mysqldump -h 源IP -uroot -p123 --databases db1 | mysql -h 目标IP -uroot -p456
  • 相关阅读:
    poj 3528 (三维几何求凸包+凸包表面积)
    dijkstra模板(好像是斐波那契额堆优化,但我为什么看起来像优先队列优化,和spfa一样)
    最大空凸包模板
    ICPC 2017–2018, NEERC, Northern Subregional Contest St Petersburg, November 4, 2017 I题
    hdu 5248 序列变换
    hdu 2063(二分图模板测试)
    组合数
    85. Maximal Rectangle 由1拼出的最大矩形
    750. Number Of Corner Rectangles四周是点的矩形个数
    801. Minimum Swaps To Make Sequences Increasing 为使两个数组严格递增,所需要的最小交换次数
  • 原文地址:https://www.cnblogs.com/morgana/p/8492652.html
Copyright © 2011-2022 走看看