天天看點

mysql備份恢複

                                                     mysql備份恢複

可以直接将資料庫的目錄備份也是一種方法

一、使用mysqldump備份資料庫。

1、檢視已存在的資料庫

mysql> show databases ;

+--------------------+

| Database           |

| information_schema | 

| ar                 | 

| mysql              | 

| test               | 

| zhaoyun            | 

5 rows in set (0.00 sec)

mysql> use ar

Database changed

mysql> show tables ;

+----------------+

| Tables_in_ar   |

| actionlog      | 

| admin          | 

| blog           | 

3 rows in set (0.00 sec)

2、使用mysqldump指令備份資料庫,使用mysqldump備份資料庫備份的是sql語句,是以用mysqldump指令備份的檔案可以在不同平台進行恢複。

#建立備份目錄

[root@zhaoyun ~]# mkdir mysqlback

#備份ar資料庫,将ar資料庫備份并将備份的sql儲存在ar.sql檔案

[root@zhaoyun ~]# mysqldump -uroot -p123456 ar > mysqlback/ar.sql

#備份所有資料庫

[root@zhaoyun ~]# mysqldump -uroot -p123456 --all-database > mysqlback/all.sql

#備份ar資料庫的admin和blog倆張表

[root@zhaoyun ~]# mysqldump -uroot -p123456 ar admin blog > mysqlback/ar-admin-blog.sql

#備份ar和mysql倆個資料庫

[root@zhaoyun ~]# mysqldump -uroot -p123456 -B ar mysql > mysqlback/ardb-mysqldb.sql

3、恢複,使用mysql指令進行資料庫恢複。

1 、/× 删除ar資料庫

mysql> drop database ar ;

Query OK, 13 rows affected (0.13 sec)

mysql> show databases;  /×ar資料庫已經不存在了。

4 rows in set (0.00 sec)

2、使用備份檔案進行恢複

\*先建立一個ar的資料庫

mysql> create database ar ;

Query OK, 1 row affected (0.01 sec)

[root@zhaoyun ~]# mysql -uroot -p123456 ar <  mysqlback/ar.sql 

[root@zhaoyun ~]# mysql -uroot -p123456

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 14

Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use ar 

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

| actionlog      |  

可以看到ar資料庫已經成功恢複了。

恢複備份的admin和blog表。先将倆個表删除

mysql> show tables;

mysql> drop table admin ;

Query OK, 0 rows affected (0.01 sec)

mysql> drop table blog ;

Query OK, 0 rows affected (0.00 sec)

1 rows in set (0.00 sec)

mysql> source /root/mysqlback/ar-admin-blog.sql

........................................................

13 rows in set (0.00 sec)

mysql> select * from admin limit 1 ;

+----+---------------+----------------------------------+------------------+-------------+---------------------+

| id | userName      | password                         | email            | telephone   | addTime             |

可以看到倆個表已經恢複回來了。

3、使用計劃任務備份資料庫

寫一個腳本檔案,然後在任務計劃中增加執行這個腳本檔案的時間。

備份資料庫,并按日期時間命名。

mysqldump -uroot -p123456 --all-database > "`date +%Y-%m-%d-%H:%M:%S`.sql"

本文轉自zhaoyun00 51CTO部落格,原文連結:http://blog.51cto.com/zhaoyun/732756