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

时间: 2024-08-17 14:55:19

windows/linux服务器下mysql备份恢复命令介绍的相关文章

在win下mysql备份恢复命令概括

假设mysql 安装在c:盘,mysql数据库的用户名是root,密码是123456,数据库名是database_name,在d:盘根目录下面存放备份数据库,备份数据库名字为backup20070713.sql(20070713.sql为备份日期) 备份数据库: mysqldump -uroot -p123456 database_name>d:/backup20070713.sql 恢复数据库: 删除原有数据库,建立数据库,把备份数据库导入. mysqladmin -uroot -p12345

Win下mysql备份恢复命令

假设mysql安装在c:盘,mysql数据库的用户名是root,密码是123456,数据库名是database_name,在d:盘根目录下面存放备份数据库,备份数据库名字为backup20070713.sql(20070713.sql为备份日期) 备份数据库: mysqldump -uroot -p123456 database_name>d:/backup20070713.sql 恢复数据库: 删除原有数据库,建立数据库,把备份数据库导入. mysqladmin -uroot -p123456

在Win下mysql备份恢复命令_Mysql

在d:盘根目录下面存放备份数据库,备份数据库名字为backup20070713.sql(20070713.sql为备份日期) 备份数据库: mysqldump -uroot -p123456 database_name>d:/backup20070713.sql 恢复数据库: 删除原有数据库,建立数据库,把备份数据库导入. mysqladmin -uroot -p123456 drop database_name mysqladmin -uroot -p123456 create databas

Linux服务器下的Shell常用命令总结

1.   find        find pathname -options [-print -exec -ok]        让我们来看看该命令的参数:        pathname find命令所查找的目录路径.例如用.来表示当前目录,用/来表示系统根目录.        -print find命令将匹配的文件输出到标准输出.        -exec find命令对匹配的文件执行该参数所给出的shell命令.相应命令的形式为'command' {} ;,注意{}和:之间的空格,同时两

mysql-WEB程序在linux服务器下连接Mysql超时!

问题描述 WEB程序在linux服务器下连接Mysql超时! 请问下,我linux服务器部署WEB项目后,启动没报超时,但是一访问有数据的页面就报连接数据库超时.本地跑就没问题,我改了Mysql的默认时间,还是这样.要怎么解决?求大神 解决方案 先看你的 web程序能不能正常连接上数据库,然后就是执行数据库查询是否成功 解决方案二: 看是什么数据,一个是你连接字符串,是不是根本没法打开数据库. 尝试先注释掉数据库访问的代码看看

mysql备份恢复中的常见错误

从A主机备份到B主机 mysqldump -uroot  -p vw>vw.sql 现备份数据库文件,需要恢复到目标机B,B的数据库版本为5.5.23,A机器的mysql版本为5.0.22 mysql>source /root/vw.sql; -------------------- Query OK, 6748 rows affected (0.13 sec) Records: 6748 Duplicates: 0 Warnings: 0 Query OK, 6807 rows affect

Windows 8.1下 MySQL绿色版安装配置与使用

原文:Windows 8.1下 MySQL绿色版安装配置与使用  Mysql-5.6.17-winx64操作步骤: 一.安装MySQL数据库 1.下载.      下载地址:http://downloads.mysql.com/archives/get/file/mysql-5.6.17-winx64.zip. 2.解压MySQL压缩包 解压到指定目录,D:\Dev\mysql-5.6.17-winx64. 3.添加环境变量 在Path中添加  D:\Dev\mysql-5.6.17-winx6

linux服务器下运行一个图形化的Java程序

问题描述 linux服务器下运行一个图形化的Java程序 安装一了一个纯命令行的Ubuntu服务器系统,在windows下用netbeans 做 了一个图形化Java程序.服务器下的jdk以安装.在运行这个打包好的java程序时出现错误.说是需要libX....等很多包. 估计是需要安装图形化包,那么怎么安装这些包呢,服务器不能连接互联网.如果有这些包,从哪里下载呢? 解决方案 不能连网,那还是重装下系统比较简单.找一个带xwindow的ubuntu标准版 解决方案二: ubuntu服务器版本不

查看Linux服务器下的内存使用情况

查看Linux服务器下的内存使用情况 ,可以使用命令free -m.注意此命令只在Linux下有效,在FreeBSD中没有此命令.命令如下所示: used:已经使用的内存数 free:空闲的内存数 shared:多个进程共享的内存总额 -buffers/cache:(已用)的内存数,即used-buffers-cached +buffers/cache:(可用)的内存数,即free+buffers+cached 得出结论: 可用内存的计算公式为: 可用内存=free+buffers+cached