zoukankan      html  css  js  c++  java
  • windows/linux服务器下mysql备份恢复命令介绍

    设mysql安装在c:盘,mysql数据库的用户名是root,密码是123456,数据库名是database_name,在d:盘根目录下面存放备份数据库,备份数据库名字为backup20070713.sql(20070713.sql为备份日期)

    备份数据库:

    mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。

     代码如下 复制代码
    mysqldump -uroot -p123456 database_name>d:/backup20070713.sql

    上面windows/下面为linux

    我通常使用以下 SQL 来备份 MyISAM 表:

     代码如下 复制代码
    /usr/local/mysql/bin/mysqldump -uyejr -pyejr
    --default-character-set=utf8 --opt --extended-insert=false
    --triggers -R --hex-blob -x db_name > db_name.sql
     


    使用以下 SQL 来备份 Innodb 表:

     代码如下 复制代码
    /usr/local/mysql/bin/mysqldump -uyejr -pyejr
    --default-character-set=utf8 --opt --extended-insert=false
    --triggers -R --hex-blob --single-transaction db_name > db_name.sql
     

    另外,如果想要实现在线备份,还可以使用 --master-data 参数来实现,如下:

     代码如下 复制代码
    /usr/local/mysql/bin/mysqldump -uyejr -pyejr
    --default-character-set=utf8 --opt --master-data=1
    --single-transaction --flush-logs db_name > db_name.sql

    恢复数据库:

    删除原有数据库,建立数据库,把备份数据库导入。

     代码如下 复制代码
    mysqladmin -uroot -p123456 drop database_name

    mysqladmin -uroot -p123456 create database_name

    mysql -uroot -p123456 database_name
     


    用 mysqldump 备份出来的文件是一个可以直接倒入的 SQL 脚本,有两种方法可以将数据导入。

    直接用 mysql 客户端
    例如:

     代码如下 复制代码
    /usr/local/mysql/bin/mysql -uyejr -pyejr db_name < db_name.sql
     

     

    用 SOURCE 语法
    其实这不是标准的 SQL 语法,而是 mysql 客户端提供的功能,例如:

     代码如下 复制代码
    SOURCE /tmp/db_name.sql;


    这里需要指定文件的绝对路径,并且必须是 mysqld 运行用户(例如 nobody)有权限读取的文件。

    注:在导入备份数据库前,database_name如果没有,是需要创建的;而且与backup20070713.sql中数据库名是一样的才能导入。

    mysqldump(数据导出工具)

      mysqldump options db_name[table_name]//备份单个数据库
      mysqldump 选项 --database database-name1 [databases-name2]....//备份指定的数据库一个或者多个
      mysqldump 选项 --all-database //备份所有的数据库
      链接选项:
      -u :指定用户名
       -p:指定密码
       -h:指定服务器ip或者域名
       -P(大写):指定端口
    eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user>/home/wuxiaoxiao/user.txt
    输出内容选项:
    --add-drop-database:每个数据库创建语句之前加上drop database语句
    --add-drop-table:每个表创建语句之前加上drop table语句
    -n:不包含数据库的创建语句
    -t:不包含数据表的创建语句
    -d:不包含数据
    输出格式选项:
     --compact:使输出结果简洁
     -c --compact-insert:使输出文件中的insert语句包含字段名
     -T:将数据库表中的数据备份为单纯的数据文本和建表sql俩个文件
       --fields-terminated-by=name(域分割符)
       --fields-enclosed-by=name(域引用符)
       --fields-optionally-enclosed-by=name(域可选引用符)
       --fields-escaped-by=name(转移字符)
    eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user -T ./bak
    字符集选项:
    --default-character-set=name:设置导出的客户端字符集
    eg:mysql -u root -p --compact --default-character-set=utf8 BBS user > test.txt

    更多详细内容请查看:http://www.111cn.net/database/mysql/43402.htm

  • 相关阅读:
    C程序之修改Windows的控制台大小
    C程序之修改Windows的控制台颜色(转载)
    VS2010/MFC编程(对话框:模态对话框及其弹出过程)
    C/C++常用头文件及函数汇总
    vs2010点调试,显示系统找不到指定的文件
    C++之类和对象的使用(三)
    C++之类和对象的使用(二)
    idea激活方式
    Java之dom4j的简单解析和生成xml的应用
    Java之POI的excel导入导出
  • 原文地址:https://www.cnblogs.com/phpfans2012/p/2627283.html
Copyright © 2011-2022 走看看