Mysql备份恢复相关

来源:互联网 发布:淘宝飞猪客服电话 编辑:程序博客网 时间:2024/06/07 15:22
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [FIELDS
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char' ]
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [IGNORE number LINES]
    [(col_name_or_user_var,...)]
    [SET col_name = expr,...)]


[LOW_PRIORITY | CONCURRENT]
-与同时运行优先级相关,暂不考虑,insert语句也有类似选项[LOW_PRIORITY | DELAYED | HIGH_PRIORITY]
[LOCAL]
-指定后从客户端本地上传文件,可用绝对路径和相对路径,相对路径被理解为相对于启动客户端时所在的目录,一般为C:\Users\Administrator
-没有指定时,在主机端寻找文件,可用绝对路径和相对路径,当使用相对路径时理解为数据库文件夹所在目录,但要区分'./file_name.txt'和'file_name.txt'区别
[REPLACE | IGNORE]
-针对插入时出现重复唯一索引时起效,replace替换,ignore跳过
-insert语句中也有ignore选项,用于出现重复唯一索引或错误值,另[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]子句用于更新原索引
[FIELDS
    [TERMINATED BY 'string']-两个字段间用什么字符分隔/默认\t
    [[OPTIONALLY]-用于字符数据,数值数据不起效 ENCLOSED BY 'char']-一个字段用成对的字符分隔\默认空
    [ESCAPED BY 'char' ]-转义字符\默认反斜杠,用'\\'表示
]
[LINES
    [STARTING BY 'string']-记录行从什么字符开始/默认空
    [TERMINATED BY 'string']-记录行间用什么字符分隔/默认\n
]
[IGNORE number LINES]
-指定number用于从开始跳过number行开始导入
[(col_name_or_user_var,...)]
-用于指定导入字段列表,可以使用变量然后被下面的子句导入
[SET col_name = expr,...)]
-指定单个字段值


1、windows文件分隔行时应使用\r\n
2、当数据库为utf8时,导入的文件类型也应该是utf8,但是某些utf8文件会在文件头多出3个引导字节,这造成用load data infile导入时首记录的首字段出现错误,使用character_set_database用于解释导入文件的编码方式,设置character_set_database=gbk导入ascii文件,即使数据库是utf8编码也可以正常导入,这可以有效解决utf8文件导入问题
3、如果把终止符设置为'',在此情况下,文本文件必须包含每行的所有字段。
4、如果LINES TERMINATED BY是空字符串,并且FIELDS TERMINATED BY不是空字符串,则各行以FIELDS TERMINATED BY作为结尾。

-*****-

SELECT col_name FROM table_name INTO OUTFILE 'file_name'
SELECT col_name INTO OUTFILE FROM table_name
-两种方式均可
-作为与load data infile配套使用,其fileds和lines选项必须完全匹配
-如果用INTO DUMPFILE代替INTO OUTFILE,则只把一行写入到文件中,不对任何列或行进行终止,也不执行任何转义处理
-file_name如果为相对路径则被理解为相对于启动客户端时所在的目录,一般为E:\wamp\bin\mysql\mysql5.5.20\data\所在数据库名

将标准控制台输出变成文件输出
-mysql -uroot -e "Sql语句" > outfile;
-mysql -uroot < slqfile > outfile;
-上面2种方式均可,文件路径默认为启动mysql路径,一般为C:\Users\Administration\Desktop\

-*****-

数据库备份程序mysqldump
shell> mysqldump [options] db_name [tables] > file_name
-备份数据表,如果不指定表则备份全部数据表,备份语句中不包括数据库的创建,那么的恢复的时候必须首先创建并use数据库
shell> mysqldump [options] --database DB1 [DB2 DB3...] > file_name
shell> mysqldump [options] --all-database > file_name
-备份数据库,如果不指表则备份全部数据表,备份语句中不包括数据库的创建

1、mysqldump需用主机地址/用户名/密码等必要信息
2、file_name如果为相对路径则被理解为启动客户端时所在的路径,一般为C:\Users\Administrator
3、[options]可选项目较多,暂了解如下
-[--no-data]仅备份表结构
-[--add-drop-database]备份时加入删除数据库语句,防止同名数据库存在时影响数据库恢复
-[-add-drop-table]同上
4、[--add-drop-database] [-add-drop-table]有默认选项,在使用时最好用mysqldump -?查看变量值,需要改变时[-add-drop-table=false]等号两边不能有空格

5、以上参数中短横线-及其数量要精确匹配

聚石塔使用bat:

set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
set hh=%time:~0,2%
set mn=%time:~3,2%
if /i %hh% LSS 10 (set hh=0%time:~1,1%)
d:
cd wamp
cd bin
cd mysql
cd mysql5.5.20
cd bin
mysqldump -hlocalhost -uroot --add-drop-database --database a0109202126 > d:\wamp\sql\%yy%%mm%%dd%-%hh%.%mn%.sql

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果手机桌面淘宝图标不见了怎么办 提示网页上有错误怎么办 淘宝定制家具违约两个月怎么办 同行在买家评价下面评论怎么办 淘宝知识产权侵权被投诉了怎么办 闲鱼买家说是假货退货怎么办 日验证失败次数上限怎么办 淘宝卖家发货不全怎么办 子账号登录不上怎么办 淘宝宝贝曝光量少怎么办 淘宝买东西退款卖家拒绝怎么办 华为手机淘宝不能收藏宝贝怎么办 包裹发出不想要了怎么办 淘宝改登录密码忘记了怎么办 三星s8应用闪退怎么办 淘宝购物商家不发货怎么办 淘宝商家迟迟不发货怎么办 买家地址写错了怎么办 买家写错快递地址怎么办 淘宝退款选择服务类型出不来怎么办 网购东西发错了怎么办 拒签商家不退款怎么办 红米手机无响应怎么办 淘宝网登录密码忘记了怎么办 淘宝网密码忘记了怎么办 京东抢购不发货怎么办 微商不想做了怎么办 减肥过程中饿了怎么办 滴滴车龄超过6年怎么办 网络公选课没过怎么办 大学网络课挂了怎么办 淘宝虚拟订单买家恶意退款怎么办 淘宝卖家虚拟发货怎么办 淘宝买虚拟产品被骗了怎么办 哈尔滨暖气低于十八度怎么办 淘客店铺没人买怎么办 淘宝商家不给退货怎么办 淘宝卖家拒绝退款申请怎么办 运费险赔付少了怎么办 买了运费险退货怎么办 卖家运费险退货怎么办