mysql dump还原_mysql dump备份和恢复
---------------------------------------------
1.準備工作
---------------------------------------------
--查看當前mysql服務器使用的存儲引擎
# mysqladmin variables | grep? storage_engine
| storage_engine????????????????????????? | MyISAM
--查看mysql數據庫存放目錄
# mysqladmin variables | grep datadir
| datadir???????????????????????????????? | /usr/local/mysql/var/???????????????????????????????????????????????????????????????????? |
---------------------------------------------
2.mysqldump備份數據庫
---------------------------------------------
--mysqldump備份一個整個的數據庫
# mysqldump -u root -ppassword --opt accp > /test/accpbak.sql
/*
--opt 這只是一個快捷選項,等同于同時添加 --add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset 選項
*/
--mysqldump備份多個數據庫
# mysqldump -u root -ppassword --opt? --database accp suzhou? > /test/twobak.sql
--mysqldump備份所有數據庫
# mysqldump -u root -ppassword? --opt? --all-databases? > /test/allbak.sql
---------------------------------------------
3.--mysqldump恢復數據庫
---------------------------------------------
--mysqldump恢復:恢復的前提是accp數據庫存在
#mysql -u root -ppassword accp < /test/accpbak.sql
--恢復多個數據庫
#mysql -u root -ppassword
mysql>source /test/twobak.sql
---------------------------------------------
---mysql增量備份
---------------------------------------------
#vi /etc/my.cnf
[mysqld]
log-bin=/mysql-log/mysql-bin
1.全備
mysqldump -u root -ppassword --opt beijing > /test/beijing.sql
2.增量備份:切斷日志,即備份之前所有內容。此備份點只有的修改都存在新日志里
mysqldump --flush-logs -u root -ppassword --opt beijing > /test/beijing.sql
恢復
1.恢復全備
mysql -u root -ppassword beijing < /test/beijing.sql
2.恢復日志
#mysqlbinlog /usr/local/mysql/var/mysql-bin.000013 | mysql -u root -ppassword beijing
啟用新的更新日志
這樣可以記錄你備份后的數據改變為恢復數據準備。
#mysqladmin flush-logs -u root -ppassword
---案例:增量備份
(1).查看二進制日志存放位置
# ls /usr/local/mysql/var/ | grep mysql-bin*
mysql-bin.000001
mysql-bin.000002
mysql-bin.000003
mysql-bin.000004
mysql-bin.000005
mysql-bin.000006
mysql-bin.000007
mysql-bin.000008
mysql-bin.000009
mysql-bin.000010
mysql-bin.000011
mysql-bin.000012
mysql-bin.000013
mysql-bin.index
(2).準備存放備份數據的位置
# mkdir /backup
(2).準備備份的數據
# mysql -u root -ppassword beijing
mysql> show tables;
+-------------------+
| Tables_in_beijing |
+-------------------+
| t1??????????????? |
+-------------------+
1 row in set (0.00 sec)
mysql> select * from t1;
+------+
| sid? |
+------+
|? 101 |
|? 102 |
|? 103 |
|? 104 |
+------+
4 rows in set (0.00 sec)
(3).做全備
#mysqldump -u root -ppassword --opt beijing > /backup/beijing.sql
(4).修改數據庫中表內容
# mysql -u root -ppassword beijing
mysql> insert into t1 values (105);
Query OK, 1 row affected (0.00 sec)
mysql> select * from t1;
+------+
| sid? |
+------+
|? 101 |
|? 102 |
|? 103 |
|? 104 |
|? 105 |
+------+
5 rows in set (0.00 sec)
(5).備份并啟用新日志
#mysqldump --flush-logs -u root -ppassword --opt beijing > /backup/beijing.sql
# ls /usr/local/mysql/var/ | grep mysql-bin*
mysql-bin.000001
mysql-bin.000002
mysql-bin.000003
mysql-bin.000004
mysql-bin.000005
mysql-bin.000006
mysql-bin.000007
mysql-bin.000008
mysql-bin.000009
mysql-bin.000010
mysql-bin.000011
mysql-bin.000012
mysql-bin.000013
mysql-bin.000014
mysql-bin.index
--說明:即該備份完成后,數據庫修改的日志都保存在新添加的mysql-bin.000014中.
(6).操作數據庫
# mysql -u root -ppassword beijing
mysql> select * from t1;
+------+
| sid? |
+------+
|? 101 |
|? 102 |
|? 103 |
|? 104 |
|? 105 |
+------+
5 rows in set (0.01 sec)
mysql> delete from t1 where sid=103;
Query OK, 1 row affected (0.01 sec)
mysql> select * from t1;
+------+
| sid? |
+------+
|? 101 |
|? 102 |
|? 104 |
|? 105 |
+------+
4 rows in set (0.00 sec)
(7).恢復剛才刪除的數據
第一步:恢復全備
#mysql -u root -ppassword beijing < /backup/beijing.sql
第二步:恢復日志
#mysqlbinlog /usr/local/mysql/var/mysql-bin.000014 | mysql -u root -ppassword beijing
第三步:查看數據是否恢復
# mysql -u root -ppassword beijing
mysql> select * from t1;
+------+
| sid? |
+------+
|? 101 |
|? 102 |
|? 103 |
|? 104 |
|? 105 |
+------+
5 rows in set (0.00 sec)
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的mysql dump还原_mysql dump备份和恢复的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高桥盾react和boost_gel、r
- 下一篇: matlab 扫雷命令,Matlab版扫