首页 > 代码库 > LAMP搭建24:MySQL备份与恢复

LAMP搭建24:MySQL备份与恢复

使用mysqldump工具,以root用户身份,密码aming.com备份discuz数据库到/data/discuz.sql

[root@centos6 mysql]# mkdir -p /data/bak/mysql/

[root@centos6 mysql]# mysqldump -uroot -p123456 discuz > /data/bak/mysql/discuz.sql

查看备份的内容

[root@centos6 mysql]# head /data/bak/mysql/discuz.sql

-- MySQL dump 10.13  Distrib 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)

[root@centos6 discuz]# mysql -uroot -p123456 discuz < /data/bak/mysql/discuz.sql

技术分享

备份一个表,需要加表名

[root@centos6 discuz]# mysqldump -uroot -p123456 mysql user > /data/bak/mysql/user.sql

恢复一个表,不需要加表名

[root@centos6 discuz]# mysql -uroot -p123456 mysql < /data/bak/mysql/user.sql

为了避免备份和恢复字符集不一致,我们可以指定字符集备份和恢复

[root@centos6 discuz]# mysqldump -uroot -p123456 --default-character-set=gbk mysql user > /data/bak/mysql/user.sql

[root@centos6 discuz]# mysql -uroot -p123456 --default-character-set=gbk mysql < /data/bak/mysql/user.sql


LAMP搭建24:MySQL备份与恢复