首页 > 代码库 > 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备份与恢复