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