mysql数据库的备份与恢复,linux服务器下mysql备份恢复命令介绍
分类:微服架构

MyISAM引擎

windows/linux服务器下mysql备份恢复命令介绍

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

  • 备份
    mysqldump -u root -p --default-character-set=utf8 --opt --triggers -e -C -R dbname > bak_dbname.sql
  • 恢复
    mysql -u root -p --default-character-set=utf8 dbname < bak_dbname.sql

 

备份数据库:

InnoDB引擎

在windows服务器下mysql备份恢复我们经常会使用mysqldump命令来完成这些操作,下面我来详细的总结一下mysqldump备份恢复命令的用法介绍。

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

  • 备份
    mysqldump -u root -p --default-character-set=utf8 --opt --triggers -e -C -R --single-transaction dbname > bak_dbname.sql
  • 恢复
    mysql -u root -p --default-character-set=utf8 --single-transaction dbname < bak_dbname.sql

 

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

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

上面windows/下面为linux

备份数据库:

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

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

 代码如下 复制代码
/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  

 代码如下  www.2cto.com  

使用以下 SQL 来备份 Innodb 表:

mysqldump -uroot -p123456 database_name>d:/backup20070713.sql

 代码如下 复制代码
/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  

上面windows/下面为linux

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

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

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

 代码如下

 

/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

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

 

mysqladmin -uroot -p123456 create database_name

使用以下 SQL 来备份 Innodb 表:

mysql -uroot -p123456 database_name  

 代码如下

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

/usr/local/mysql/bin/mysqldump -uyejr -pyejr 

直接用 mysql 客户端
例如:

--default-character-set=utf8 --opt --extended-insert=false 

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

--triggers -R --hex-blob --single-transaction db_name > db_name.sql

 

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

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

 代码如下

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

/usr/local/mysql/bin/mysqldump -uyejr -pyejr 

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

--default-character-set=utf8 --opt --master-data=1 

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

--single-transaction --flush-logs db_name > db_name.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

恢复数据库:

更多详细内容请查看:

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

 代码如下

mysqladmin -uroot -p123456 drop database_name

mysqladmin -uroot -p123456 create database_name

mysql -uroot -p123456 database_name

 

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

直接用 mysql 客户端   www.2cto.com  

例如:

 代码如下

/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:不包含数据

输出格式选项:  www.2cto.com  

 --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

 

 

来自壹聚教程网

在windows服务器下mysql备份恢复我们经常会使用mysqldump命令来完成这些操作,下面我来详细的总结一...

本文由10bet手机官网发布于微服架构,转载请注明出处:mysql数据库的备份与恢复,linux服务器下mysql备份恢复命令介绍

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文