加入收藏 | 设为首页 | 会员中心 | 我要投稿 吉安站长网 (https://www.0796zz.com.cn/)- 科技、图像处理、媒体智能、办公协同、操作系统!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql数据库备份和还原

发布时间:2022-07-04 10:29:40 所属栏目:MySql教程 来源:互联网
导读:MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件 数据库备份:打开cmd 执行以下语句: mysqldump -h lo
  MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件
 
  数据库备份:打开cmd 执行以下语句:
 
  mysqldump -h localhost -u root -proot databasename >d:databasename.sql
 
  数据库还原:打开cmd执行以下语句:
 
  mysql  -uroot -proot databasename < d:databasename.sql
 
  当数据库备份和还原操作并不是在同一台数据库服务器上,可能会出现两台服务器的mysql软件安装的编码问题,比如在还原数据库时会遇到“Unknown command '''.” 这种错误提示,则可以使用如下代码:
 
  mysql  -uroot -proot  --default-character-set=gb2312 databasename < d:databasename.sql
 
  mysqlhotcopy
 
  2.1 备份
 
  mysqlhotcopy 是一个 PERL 程序,最初由Tim Bunce编写。它使用 LOCK TABLES、FLUSH TABLES 和 cp 或 scp 来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库文件(包括数据表定义文件、数据文件、索引文件)所在的机器上。mysqlhotcopy 只能用于备份 MyISAM,并且只能运行在 类Unix 和 NetWare 系统上。
 
  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 目录的权限.
 
  2.2 还原
 
  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 运行用户

(编辑:吉安站长网)

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

    热点阅读