加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_郴州站长网 (http://www.0735zz.com/)- 云通信、区块链、物联设备、云计算、站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL中数据库的备份和恢复命令概括

发布时间:2022-06-16 11:29:44 所属栏目:MySql教程 来源:互联网
导读:在mysql中对数据库数据表的备份与还原我们只要使用到mysqldump命令即可实现,不管是在windows还是在linux中都可使用mysqldump来备份与还原数据库. 先来讲述一下利用mysqldump备份,SQL 来备份 MyISAM 表,代码如下: /usr/local/mysql/bin/mysqldump -uyejr -pye
  在mysql中对数据库数据表的备份与还原我们只要使用到mysqldump命令即可实现,不管是在windows还是在linux中都可使用mysqldump来备份与还原数据库.
 
  先来讲述一下利用mysqldump备份,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
  接着再讲mysqldump还原备份的数据,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)有权限读取的文件,可能大家还会知道一个命令mysqlhotcopy下面我也简单讲述一下.
 
  mysqlhotcopy 支持一次性拷贝多个数据库,同时还支持正则表达,以下是几个例子:
 
  root#/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=yejr -p=yejr db_name /tmp.
 
  把数据库目录 db_name拷贝到 /tmp 下,代码如下:
 
  root#/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=yejr -p=yejr db_name_1 ... db_name_n /tmp
  root#/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=yejr -p=yejr db_name./regex/ /tmp
  更详细的使用方法请查看手册,或者调用下面的命令来查看 mysqlhotcopy 的帮助,代码如下:
 
  perldoc /usr/local/mysql/bin/mysqlhotcopy
 
  注意,想要使用 mysqlhotcopy,必须要有 SELECT、RELOAD(要执行 FLUSH TABLES) 权限,并且还必须要能够有读取.
 
  datadir/db_name 目录的权限。
 
  mysqlhotcopy还原
 
  mysqlhotcopy 备份出来的是整个数据库目录,使用时可以直接拷贝到 mysqld 指定的 datadir (在这里是/usr/local/mysql/data/)目录下即可,同时要注意权限的问题,如下例:
 
  root#cp -rf db_name /usr/local/mysql/data/
  root#chown -R nobody:nobody /usr/local/mysql/data/  
  将 db_name 目录的属主改成 mysqld,好了其它的像sql语句的这里就不讲述了,大家可百度搜索.
 
  利用linux中的shell命令,代码如下:
 
  shell> mysqldump --quick db_name | gzip > db_name.contents.gz
 
  该例子中创建的文件是压缩格式,恢复/转移到另一台的命令如下:
 
  shell> gunzip < db_name.contents.gz | mysql db_name
 
  以上命令,适用于*nix 操作系统的机器.

(编辑:开发网_郴州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读