13.6 mysql数据库备份恢复

mysql数据库备份恢复目录概要

  • 备份库 mysqldump -uroot -p123456 mysql > /tmp/mysql.sql
  • 恢复库 mysql -uroot -p123456 mysql < /tmp/mysql.sql
    • 恢复是,必须保证目录一致
  • 备份表 mysqldump -uroot -p123456 mysql user > /tmp/user.sql
  • 恢复表 mysql -uroot -p123456 mysql < /tmp/user.sql
  • 备份所有库 mysqldump -uroot -p -A >/tmp/123.sql
  • 只备份表结构 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

mysql数据库备份恢复

备份库

  1. 在执行mysqldump -uroot -p123456 mysql的时候会看到很多信息,屏幕上显示的这些就是备份的数据
  2. 备份mysql库文件
  • mysqlbak.sql文件就是mysql的备份库文件
[root@hf-01 ~]#  mysqldump -uroot -p'hanfeng' mysql > /tmp/mysqlbak.sql
Warning: Using a password on the command line interface can be insecure.
[root@hf-01 ~]# 
  1. 我们可以通过mysqlbak.sql来恢复数据库,还可以恢复到另外一个数据库里面去
  2. 创建一个新的库mysql2
[root@hf-01 ~]#  mysql -uroot -p'hanfeng' -e "create database mysql2"
Warning: Using a password on the command line interface can be insecure.
[root@hf-01 ~]# 
  1. 恢复库
  • mysql -uroot -phanfeng mysql < /tmp/mysql.sql
[root@hf-01 ~]#  mysql -uroot -p'hanfeng' mysql < /tmp/mysqlbak.sql
Warning: Using a password on the command line interface can be insecure.
[root@hf-01 ~]# 
  1. 进入到数据库里面,在后面加一个mysql2 就会进入到mysql2数据库里面
  • mysql -uroot -p'hanfeng' mysql2
[root@hf-01 ~]#  mysql -uroot -p'hanfeng' mysql2
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.6.35 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
  1. 查看数据库
mysql> select database();
+------------+
| database() |
+------------+
| mysql2     |
+------------+
1 row in set (0.00 sec)

mysql> 

备份表

  • 针对库里面的某一个表去做备份,只需要在 库后面 加上 表名字 即可备份
    • 先库 在表,中间是空格
    • 备份表 mysqldump -uroot -p123456 mysql user > /tmp/user.sql
  • 能看到备份的时候,库存在的话,先把库drop掉,然后创建库,表存在的话,先把表drop掉,然后创建表,然后在一步一步的插入每一行数据
[root@hf-01 ~]# mysqldump -uroot -phanfeng mysql user > /tmp/user.sql
Warning: Using a password on the command line interface can be insecure.

[root@hf-01 ~]# less /tmp/user.sql  查看备份表
  • 恢复表的时候,只需要写库的名字,不需要去写表的名字
    • 恢复表 mysql -uroot -p123456 mysql < /tmp/user.sql
  • 恢复mysql2库里面的表
[root@hf-01 ~]# mysql -uroot -phanfeng mysql2 < /tmp/user.sql
Warning: Using a password on the command line interface can be insecure.
[root@hf-01 ~]#

备份所有的库

  • 备份所有库 mysqldump -uroot -phanfeng -A >/tmp/123.sql
    • -A 表示all所有的意思
[root@hf-01 ~]# mysqldump -uroot -phanfeng -A > /tmp/mysql_all.sql
Warning: Using a password on the command line interface can be insecure.
[root@hf-01 ~]# 

[root@hf-01 ~]# less /tmp/mysql_all.sql  
  • 只备份表结构 mysqldump -uroot -phanfeng -d mysql > /tmp/mysql.sql
    • 不需要表的数据,只需要表的语句
  • 备份mysql2的表结构
[root@hf-01 ~]# mysqldump -uroot -phanfeng -d mysql2 > /tmp/mysql.sql
Warning: Using a password on the command line interface can be insecure.
[root@hf-01 ~]#

[root@hf-01 ~]# less /tmp/mysql.sql

示例

  • 两个机器的库备份,一个库备份到另一台机器上
  • 解决:
    • 首先两台机器能够通信
    • 然后mysqldump -h 远程mysql-ip -uuser-ppassword dbname > /本地backup.sql
    • 这样既可备份

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏性能与架构

Mysql 复制的延迟优化

Mysql 复制过程中,数据延迟是很重要的问题,无法避免,只能尽量优化,使延时尽可能的小 要想优化复制过程,我们先看下复制的整个过程,看其中哪些步骤可以优化 ?...

33640
来自专栏转载gongluck的CSDN博客

vsftp配置

最近需要一个ftp,正好借着正在学习centOS的机会配置一个vsftpd。 配置的过程中遇到了不少错误,这里记录下正确的完整的过程,以供大家分享。 首先下载v...

41050
来自专栏Debian社区

Nginx 发布 Stable Version 1.12.0

Nginx 1.11 历经 11 个月 14 个小版本的开发,加入了大量新特性,今天发布了稳定版 1.12.0. Nginx 1.12.0 相比 1.10.0,...

11230
来自专栏Jeffery的项目过程

云主机搭建Git服务器

版本控制是一个项目不可或缺的一部分,可以帮助开发者追踪文件的变更、分支管理、版本回退、版本发布等。所以建议当开始一个项目或者有想法进行开发时,都尽量考虑用上版本...

74820
来自专栏Django Scrapy

Ubuntu与Debian下apt-get软件安装与删除的相关命令

安装软件 命令: apt-get install softname1 softname2 softname3…… 卸载软件 命令: apt-get rem...

33990
来自专栏nummy

设置VMWARE通过桥接方式使用主机无线网卡上网

将IP地址、子网掩码、默认网关、DNS设置和主机相同网段中。 如此才能真正的实现虚拟机的上网,祝你好运,配置能成功!

19520
来自专栏极客慕白的成长之路

Vagrant SSH has invalid permissions的解决与分析

我在mac下的NTFS分区里运行Vagrant up,正常启动虚拟机,但是ssh连接的时候却出现了问题,如下图:

17920
来自专栏小樱的经验随笔

一个很easy的脚本--php获取服务器端的相关信息

存档: 1 <html> 2 <head> 3 <meta http-equiv="content-type" content="...

40480
来自专栏蜉蝣禅修之道

ogre3d在vs2010下的配置

17610
来自专栏PHP实战技术

20条Linux命令面试问答

问:1 如何查看当前的Linux服务器的运行级别?   答: ‘who -r’ 和 ‘runlevel’ 命令可以用来查看当前的Linux服务器的运行级别。 ...

37780

扫码关注云+社区

领取腾讯云代金券