Mysql数据库的备份与恢复方法

62次阅读
没有评论

共计 4083 个字符,预计需要花费 11 分钟才能阅读完成。

这篇文章主要介绍“Mysql 数据库的备份与恢复方法”,在日常操作中,相信很多人在 Mysql 数据库的备份与恢复方法问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql 数据库的备份与恢复方法”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

1. 备份 cancer 数据库

“`
mysql show databases;
+——————–+
| Database  |
+——————–+
| information_schema |
| mysql  |
| cancer  |
| cancer_utf8  |
| performance_schema |
| test  |
+——————–+
6 rows in set (0.05 sec)
“`
2. 备份的方向符号为 ()

“`
[root@mysql 3306]# mysqldump -uroot -p -S /data/3306/mysql.sock cancer /opt/cancer_bak.sql
Enter password:
“`
3. 查看备份的语句

“`
[root@mysql 3306]# egrep -v #|\*|–|^$ /opt/cancer_bak.sql
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `names` char(20) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
LOCK TABLES `student` WRITE;
INSERT INTO `student` VALUES (1, ???),(2, è???”·?-?
UNLOCK TABLES;
“`
4. 备份恢复的方向符号为 ()

“`
[root@mysql 3306]# mysql -uroot -p -S /data/3306/mysql.sock cancer /opt/cancer_bak.sql
“`

加 - B 的备份与恢复
1. 备份

“`
[root@mysql 3306]# mysqldump -uroot -p -S /data/3306/mysql.sock -B cancer /opt/cancer_bak_B.sql
Enter password:
[root@mysql 3306]# cd /opt
[root@mysql opt]# diff cancer_bak.sql cancer_bak_B.sql
18a19,26
— Current Database: `cancer`

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `cancer` /*!40100 DEFAULT CHARACTER SET latin1 */;

USE `cancer`;


51c59
— Dump completed on 2015-08-16 16:16:33

— Dump completed on 2015-08-16 16:22:32
“`
2. 恢复

“`
[root@mysql opt]# mysql -uroot -p -S /data/3306/mysql.sock  /opt/cancer_bak_B.sql
“`
3. 压缩备份

“`
[root@mysql opt]# mysqldump -uroot -p -S /data/3306/mysql.sock  -B cancer|gzip /opt/cancer_bak_gzip.sql.gz
Enter password:
“`
4. 备份多个库

“`
[root@mysql opt]# mysqldump -uroot -p -S /data/3306/mysql.sock  -B cancer cancer_utf8 /opt/cancer_mul_bak
Enter password:
“`

5. 多库备份脚本

“`
[root@mysql opt]# mysql -uroot -p -S /data/3306/mysql.sock  -e show databases; |grep -Evi database|infor|perfor |sed -r s#^([a-z].*$)#mysqldump -uroot -pcancer -S /data/3306/mysql.sock -B –events \1|gzip /opt/\1.sql.gz#g |bash
Enter password:
“`
脚本的显示内容
“`
mysqldump -uroot -pcancer -S /data/3306/mysql.sock -B mysql|gzip /opt/mysql.sql.gz
mysqldump -uroot -pcancer -S /data/3306/mysql.sock -B cancer|gzip /opt/cancer.sql.gz
mysqldump -uroot -pcancer -S /data/3306/mysql.sock -B cancer_utf8|gzip /opt/cancer_utf8.sql.gz
mysqldump -uroot -pcancer -S /data/3306/mysql.sock -B test|gzip /opt/test.sql.gz
“`
1. 备份具体某个库中的某个表

“`
[root@mysql ~]# mysqldump -uroot -p -S /data/3306/mysql.sock  cancer student test
Enter password:
/*!40101 SET @saved_cs_client  = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `student` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `names` char(20) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `student` VALUES (1, ???),(2, è???”·?-?
/*!40101 SET @saved_cs_client  = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `test` (
  `id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
“`
2. 只备份表结构

“`
[root@mysql ~]# mysqldump -uroot -p -S /data/3306/mysql.sock -d  cancer
Enter password:
/*!40101 SET @saved_cs_client  = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `student` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `names` char(20) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client  = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `test` (
  `id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
“`

“`
[root@mysql ~]# mysqldump -uroot -p -S /data/3306/mysql.sock -d  cancer student
Enter password:
/*!40101 SET @saved_cs_client  = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `student` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `names` char(20) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
“`
3. 只备份数据

“`
[root@mysql ~]# mysqldump -uroot -p -S /data/3306/mysql.sock -t  cancer student
Enter password:
INSERT INTO `student` VALUES (1, ???),(2, è???”·?-?
“`

到此,关于“Mysql 数据库的备份与恢复方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-01发表,共计4083字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)