這篇文章主要介紹“操作系統(tǒng)層面恢復(fù)MySQL數(shù)據(jù)庫的方法是什么”,在日常操作中,相信很多人在操作系統(tǒng)層面恢復(fù)mysql數(shù)據(jù)庫的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”操作系統(tǒng)層面恢復(fù)mysql數(shù)據(jù)庫的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
站在用戶的角度思考問題,與客戶深入溝通,找到達孜網(wǎng)站設(shè)計與達孜網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋達孜地區(qū)。
利用復(fù)制一個mysql中的庫的目錄,來恢復(fù)mysql數(shù)據(jù)庫。
問題描述:
2018年1月10號上午10點我們的oa系統(tǒng)的服務(wù)器突然down機,嘗試啟動服務(wù)器,但磁盤出現(xiàn)問題,最后只能用顯示器直接連接服務(wù)器,crt不能遠程連接,它也不能ssh到別的服務(wù)器,也不能scp文件到別的服務(wù)器,只能通過移動硬盤,把程序和數(shù)據(jù)庫的備份copy出來,每天晚上mysqldump的sql文件,如果使用它恢復(fù)數(shù)據(jù)的話,今天早上的打卡記錄就沒有了,于是嘗試使用操作系統(tǒng)目錄恢復(fù)數(shù)據(jù)
我們知道m(xù)ysql中每個數(shù)據(jù)庫對應(yīng)一個目錄,然后這個庫下的所有表都在這個目錄下,如果這個mysql開啟了獨立表空間,理論上是可以用這個目錄恢復(fù)數(shù)據(jù)的,
下面說下具體的流程:下面過程能成功的前提是源端mysql開啟了獨立表空間 也就是參數(shù)innodb_file_per_table =on
一:首先在目的端創(chuàng)建上需要恢復(fù)的那個庫
mysql> create database oa;
Query OK, 1 row affected (0.03 sec)
二:根據(jù)昨天的備份的sql文件,恢復(fù)出oa庫下的表結(jié)構(gòu),必須做這一步,否則mysql數(shù)據(jù)字典中沒有這些表的信息,那么這些表就不能使用,也就是不能進行dml操作;
mysql> use oa;
mysql> source oa-20180109.sql;
mysql> show tables; #查看確實已經(jīng)有了表結(jié)構(gòu),我們只需要創(chuàng)建表結(jié)構(gòu)就可以。
+------------------------------------------+
| Tables_in_oa |
+------------------------------------------+
| 20161213_2_sch_assess_mark_opponent_copy |
| 20161213sch_assess_copy |
| 20161213sch_assess_mark_column_copy |
| 20161213sch_assess_mark_copy |
| 20161213sch_assess_mark_opponent_copy |
| 20161213sch_assess_order_copy |
| 20161213sch_assess_player_copy |
| #Tableau_sid_000011DF_2_Group |
| #Tableau_sid_000011E1_4_Group |
| #Tableau_sid_000011EE_4_Group |
| #Tableau_sid_000011EE_5_Group |
| BDF2_BLOB_STORE |
| BDF2_CLOB_STORE |
| BDF2_COMPANY |
| BDF2_COMPONENT |
三:在操作系統(tǒng)層面用copy出來的oa目錄,覆蓋現(xiàn)在的oa目錄;
bogon:root@/>ps -ef | grep mysql
root 20076 7826 0 21:44 pts/2 00:00:00 grep --color=auto mysql
root 25748 1 0 2017 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/mysql/data/data--pid-file=/var/run/mysql/mysql.pid
bogon:root@/> cd/mysql/data/data
bogon:root@/mysql/data/data>ll
total 1126436
-rw-rw----. 1 mysql mysql 56 Dec 15 11:46 auto.cnf
-rw-rw----. 1 mysql mysql 79691776 Jan 10 21:32 ibdata1
-rw-rw----. 1 mysql mysql 536870912 Jan 10 21:32 ib_logfile0
-rw-rw----. 1 mysql mysql 536870912 Jan 10 21:32 ib_logfile1
drwx------. 2 mysql mysql 4096 Jan 4 16:38 liuwenhe
drwx------. 2 mysql mysql 4096 Dec 20 22:10 mysql
drwx------. 2 mysql mysql 12288 Jan 10 21:31 oa
drwx------. 2 mysql mysql 4096 Dec 20 22:10 performance_schema
drwx------. 2 mysql mysql 6 Dec 20 22:10 test
bogon:root@/>cp -r oa_bak/ /mysql/data/data
bogon:root@/mysql/data/data>ll
total 1126452
-rw-rw----. 1 mysql mysql 56 Dec 15 11:46 auto.cnf
-rw-rw----. 1 mysql mysql 79691776 Jan 10 21:32 ibdata1
-rw-rw----. 1 mysql mysql 536870912 Jan 10 21:32 ib_logfile0
-rw-rw----. 1 mysql mysql 536870912 Jan 10 21:32 ib_logfile1
drwx------. 2 mysql mysql 4096 Jan 4 16:38 liuwenhe
drwx------. 2 mysql mysql 4096 Dec 20 22:10 mysql
drwx------. 2 mysql mysql 12288 Jan 10 21:31 oa
drwx------. 2 root root 12288 Jan 10 21:46 oa_bak
drwx------. 2 mysql mysql 4096 Dec 20 22:10 performance_schema
drwx------. 2 mysql mysql 6 Dec 20 22:10 test
bogon:root@/mysql/data/data>rm -rf oa
bogon:root@/mysql/data/data>mv oa_bak oa
四:一定注意修改oa目錄的權(quán)限,
bogon:root@/mysql/data/data>chown -R mysql:mysql oa
五:查看數(shù)據(jù)庫是否正常
查看確實已經(jīng)有了今天的數(shù)據(jù)
mysql> use oa;
mysql> select * from LOG_ATTENDANCE where User_Uid='liuwenhe' order by 4 desc limit 2;
+---------+----------+---------------+---------------------+
| Sort_ID | User_Uid | IP_Address | Create_Date |
+---------+----------+---------------+---------------------+
| 213614 | liuwenhe | 192.168.8.172 | 2018-01-10 08:12:50 |
| 213501 | liuwenhe | 192.168.8.172 | 2018-01-09 17:47:59 |
+---------+----------+---------------+---------------------+
嘗試做增刪改查操作,是可以的;
mysql> create table test (id int);
Query OK, 0 rows affected (0.24 sec)
mysql> insert into test values (1);
Query OK, 1 row affected (0.04 sec)
六:最后一步很關(guān)鍵,
因為我是在一套主主復(fù)制的mysql上恢復(fù)的,這個操作我只是在一個實例上操作了,所以我打算先mysqldump出來這個庫,然后再刪除這個庫,之后再從新恢復(fù)出來,保證兩套庫數(shù)據(jù)一致;
bogon:root@/mysql/data/data>mysqldump -uroot -pliuwenhe oa >oa.sql
但是刪除這個庫有問題,(后來我模擬這個過程的時候,沒有報錯,很奇怪?。?/p>
mysql> drop database oa;
ERROR 1010 (HY000): Error dropping database (can't rmdir './oa/', errno: 17)
于是從操作系統(tǒng)級別直接刪除目錄,兩個實例都刪除
bogon:root@/mysql/data/data>rm -rf oa
然后從新創(chuàng)建上庫oa,并恢復(fù)出最近的數(shù)據(jù);
mysql> create database oa;
mysql> source oa.sql;
至此利用操作系統(tǒng)的文件恢復(fù)數(shù)據(jù)庫的操作完成了
到此,關(guān)于“操作系統(tǒng)層面恢復(fù)mysql數(shù)據(jù)庫的方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
文章題目:操作系統(tǒng)層面恢復(fù)mysql數(shù)據(jù)庫的方法是什么
URL地址:http://weahome.cn/article/psjids.html