人工智能(mysql)—— mysql数据管理(导入、导出、备份及恢复)

一、表的复制

    1、语法格式

            create  table  表名  select  查询命令;

    2、示例

# 假设userinfo已存在,包含username,password,uid字段
1、复制userinfo表中的全部记录,userinfo2
create table userinfo2 select * from userinfo;
2复制userinfo表中username,password,uid三个字段的第2-10条记录,userinfo3
create table userinfo3 select username,password,uid from userinfo limit 1,9;

    3、复制表结构

            create  table  表名  select  查询命令 where  false

    4、注意

            复制表的时候不会把原有表的key属性复制过来

二、数据导入

    1、作用

            把文件系统内容导入到数据的表中

    2、命令格式(mysql交互)

            load data infile "文件名"
            into table 表名
            fileds terminated by "分隔符"
            lines terminated by "\n"

    3、示例

            把 /etc/passwd 文件中的内容导入到db2库下的userinfo表。

passwd文件数据分析:
hilqiqi0 :   x  :      1000 :  1000 :   hilqiqi0,,, :  /home/hilqiqi0 :    /bin/bash
用户名      密码    UID号   GID号  用户描述      用户主目录             登录权限

    4、操作步骤

        a、在数据库中创建对应的表
create table userinfo(
username char(20),
password char(1),
uid int,
gid int,
comment varchar(50),
homedir varchar(50),
shell varchar(50)
);
        b、将要导入的文件拷贝到数据库的默认搜索路径中

                1)查看数据库的默认搜索路径
                        show variables like "%secure_file_priv%";
                            默认:/var/lib/mysql-files/
                2)Linux命令行输入:
                        sudo cp /etc/passwd /var/lib/mysql-files/

        c、执行数据导入语句
load  data  infile  "/var/lib/mysql-files/passwd"
into  table  userinfo  
fields  terminated  by  ":"
lines  terminated  by  "\n";

三、数据导出

    1、作用

            将数据库表中的记录保存到系统文件里

    2、语法格式

            select  ...  from  表名
            into  outfile  “文件名”
            fields  terminated  by  “分隔符”
            lines  terminated  by “\n”;

    3、示例

            把userinfo表中的username、password和uid导出到文件user.txt
select username,password,uid from userinfo
into outfile "/var/lib/mysql-files/user.txt"
fields terminated by ","
lines terminated by "\n";

    4、注意

            导出的内容有SQL查询语句决定
            执行导出命令时 路径必须指定对应的数据库搜索路径

四、数据备

        mysqldump,在Linux终端中操作

  1、命令格式

        mysqldump -u用户名 -p 源库名 > 路径/XXX.sql

  2、源库名的表示方式

        --all-databases   备份所有库
        库名              备份单个库
        -B 库1 库2 ...    备份多个库
        库名 表1 表2 ...  备份指定表

  3、示例

0、备份db2库
mysqldump -uroot -p db2 > db2.sql
1、备份所有库为 all.sql , /home/tarena/mydata/
mysqldump -uroot -p --all-databases > all.sql
2、备份MOSHOU库中 sheng、city、xian三张表 MOSHOUscx.sql
mysqldump -uroot -p MOSHOU sheng city xian > MOSHOUscx.sql
3、备份2个库
mysqldump -uroot -p -B MOSHOU db4 > MSdb4.sql

五、数据恢复

    1、命令格式

            mysql  -u用户名  -p  目标库名  <  路径/xxx.sql

    2、示例

            a、先备份库
                    mysqldump -uroot -p db2 > db2.sql;
            b、删除库
                    drop database db2;
            c、先创建空库
                    create database db2 default charset=utf8;
            d、恢复命令
                    mysql -uroot -p da2 < db2.sql;

    3、两种备份

            完全备份:mysqldump
            增量备份:binlog日志、xbackup工具

    4、从所有库的备份文件中恢复某一个库(--one-database)

        mysql  -u用户名  -p  --one-database  目标库名  <  所有备份.sql
                eg:mysql -uroot -p --one-database db2 < all.sql

    5、注意

             恢复库时,库中新增的表不会删除
            恢复时必须先创建空库

六、附录:目录

        人工智能(mysql)—— 目录汇总







版权声明:本文为qq_27297393原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。