zoukankan      html  css  js  c++  java
  • Mysql自动备份与还原 转

    一、自动备份:将以下代码保存为*.bat批处理脚本,然后再添加Windows定时作业,如每天凌晨2点执行:
    set s=%date:~0,4%%date:~5,2%%date:~8,2%%time:~1,1%%time:~3,2%%time:~6,2%
    mysqldump -u root -ppassword databasename > d:databasename_%s%_bak.sql

    说明:databasename 为数据库名 password为数据库密码,系统自动以当前日期时间备份至指定目录。

    a.只导出表结构:mysqldump -uroot -–no-data test > test.txt

    b.只导出a表的数据: mysqldump -uroot -–no-create-info test a> test.txt

    【注意】:用mysqldump,如果不加任何参数,dump出来的文件,如果存在表则会先drop table,然后再create table 
    ,最后insert数据。所以要特别注意。可以通过添加参数去掉drop或者直接去掉create,如mysqldump –no-create-info 
    、mysqldump –add-drop-table=’false’ ,当然最安全最正确的做法是导入之前先检查文件,是否存在drop等命令会破坏原有表。

    二、还原数据库: mysql -u root -p databasename< d:databasename.sql

    2.mysqldump

    导出整个库的表结构

    mysqldump -h链接名 -u用户名 -P3306 -p -d 库名 > a.sql

    导出单张表的数据(包括drop、create语句)

    mysqldump -h链接名 -u用户名 -P3306 -p 库名 表名 > a.sql

    导出单张表的数据(只有insert语句)

    mysqldump –no-create-info -h链接名 -u用户名 -P3306 -p 库名 表名 > a.sql

    导出单张表的数据(条件过滤)

    mysqldump –no-create-info –where=”id=1” -h链接名 -u用户名 -P3306 -p 库名 表名 > a.sql

    注意:- -no-create-info 前面是两个横杠,csdn显示有问题

    3.登录远程数据库

    mysql -h 链接 -u登录名 -P3306 -p

    4.过滤一张表的数据到另一张表

    insert into tablename values (select * from tablename where condition=?)

  • 相关阅读:
    使用没有初始化变量很危险
    openssl动态库编译
    数据库水平切分及问题
    用dpkg命令制作deb包方法总结
    centOS安装mysql---glibc方式
    RabbitMQ常用命令
    shell脚本报错:-bash: xxx: /bin/bash^M: bad interpreter: No such file or directory
    mysql主从复制实现数据库同步
    CentOS 7.0下使用yum安装MySQL
    RabbitMQ的远程Web管理与监控工具
  • 原文地址:https://www.cnblogs.com/hanxing/p/7790032.html
Copyright © 2011-2022 走看看