spell 发表于 2018-10-11 06:48:56

LAMP搭建24:MySQL备份与恢复

  使用mysqldump工具,以root用户身份,密码aming.com备份discuz数据库到/data/discuz.sql
  # mkdir -p /data/bak/mysql/
  # mysqldump -uroot -p123456 discuz > /data/bak/mysql/discuz.sql
  查看备份的内容
  # head /data/bak/mysql/discuz.sql
  -- MySQL dump 10.13Distrib 5.1.49, for pc-linux-gnu (i686)
  --
  -- Host: localhost    Database: discuz
  -- ------------------------------------------------------
  -- Server version       5.1.49
  /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  /*!40101 SET NAMES utf8 */;
  ……
  备份是按创建库,创建表,插入数据的规律进行的,所以可以恢复。如果我们不小心删了论坛的数据库,我们的论坛就不能使用了。
  mysql> drop database discuz;
  Query OK, 297 rows affected (0.04 sec)

  恢复数据库之后,论坛又可以使用了。
  mysql> create database discuz;
  Query OK, 1 row affected (0.00 sec)
  # mysql -uroot -p123456 discuz < /data/bak/mysql/discuz.sql

  备份一个表,需要加表名
  # mysqldump -uroot -p123456 mysql user > /data/bak/mysql/user.sql
  恢复一个表,不需要加表名
  # mysql -uroot -p123456 mysql < /data/bak/mysql/user.sql
  为了避免备份和恢复字符集不一致,我们可以指定字符集备份和恢复
  # mysqldump -uroot -p123456 --default-character-set=gbk mysql user > /data/bak/mysql/user.sql
  # mysql -uroot -p123456 --default-character-set=gbk mysql < /data/bak/mysql/user.sql

页: [1]
查看完整版本: LAMP搭建24:MySQL备份与恢复