MySQL数据库备份与还原

太过爱你忘了你带给我的痛 2022-04-14 03:17 491阅读 0赞

MySQL数据库备份与还原

  • 介绍
    • 逻辑备份
    • 逻辑还原
      • 其他情况说明
    • 物理备份
    • 物理还原

介绍

MySQL是我们开发最为常用的数据库之一,下面简单介绍一下MySQL数据库的备份与还原。

逻辑备份

注意:这种方式适用于比较少量数据的时候,如果大量数据,请物理备份,备份文件尽量含有日期[方便数据的还原与管理],对于客户的数据库是禁止删除的,因此还原的时候,可以还原到新的数据库。

Windows平台下CMD执行:参数说明-h 10.0.42.180[host数据库服务器IP],-P 3306[PORT数据库端口,mysql默认3306] gbk[数据库字符集,当前test默认字符集],test[数据库名称],D:\test_backup20181123.dump[备份路径以及文件名] ,如果是本机-h 10.0.42.180 -P 3306 部分可以省略

1.cmd执行

  1. D:\> mysqldump -uroot -p -h 10.0.42.180 -P 3306 -c --default-character-set=gbk test > D:\\test_backup20181123.dump

输入密码后回车
20181123165041778.png
在对应路径下就能看到相应文件了【如果2002请看后面的其他情况说明】
20181123164840660.png

逻辑还原

1.创建数据库,指定字符集

  1. mysql> CREATE DATABASE test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

2018112316494548.png
2.导入表及数据
cmd下执行下面语句,输入密码后回车

  1. D:\> mysql -uroot -p -h 10.0.42.180 -P 3306 -c --default-character-set=gbk test < D:\\test_backup20181123.dump

20181123165147420.png

其他情况说明

数据库还原的时候,如果提示外键约束,修改dump文件,开头添加,不启用外键

  1. SET FOREIGN_KEY_CHECKS=0;

最后添加

  1. SET FOREIGN_KEY_CHECKS=1;

Linux平台下与windows下面基本一致
如果Linux下提示下面错误

  1. mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

套接字错误,选择正确的套接字

  1. [root@localhost gugu]# netstat -ln | grep mysql
  2. unix 2 [ ACC ] STREAM LISTENING 17512781 /var/lib/mysql/mysql.sock

导出命令中添加socket参数

  1. [root@localhost gugu]# mysqldump -uroot -p --socket=/var/lib/mysql/mysql.sock -c --default-character-set=gbk test > ./test_backup20181123.dump

物理备份

顾名思义,找到物理存储文件进行备份

1.物理备份[InnoDB存储引擎(mysql5.5.5以上版本默认存储引擎)],test[数据库名称],
MySQL数据目录下复制test文件夹以及ibdata1文件
如果找不到文件位置

  1. mysql> show global variables like "%datadir%";

20181123165342745.png
就可以找到物理文件位置,以及下面的数据文件
watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYXpoYWd1_size_16_color_FFFFFF_t_70

物理还原

  1. 停止服务器
    2.将test文件夹以及ibdata1文件夹替换原来数据库数据文件
    3.重新启动数据库
    注意:这种情况会所有数据库都会还原成备份的版本

发表评论

表情:
评论列表 (有 0 条评论,491人围观)

还没有评论,来说两句吧...

相关阅读