版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Linux操作系統(tǒng)備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)1.MySQL數(shù)據(jù)庫(kù)的備份和恢復(fù)(1)使用mysqldump命令備份所有數(shù)據(jù)庫(kù)。[root@server~]#mysqldump-uroot-p--lock-all-tables--all-databases--events>mysql_dump.sql#-uroot用于指定要使用的MySQL用戶名為root#-p用于提示輸入密碼*/--lock-all-tables表示將在備份時(shí)鎖定所有表,確保在備份期間數(shù)據(jù)庫(kù)中的數(shù)據(jù)不會(huì)發(fā)生變化。這樣可以確保備份的一致性,但是可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)在備份期間無(wú)法執(zhí)行寫操作*/#--all-databases表示備份所有數(shù)據(jù)庫(kù)#--events表示導(dǎo)出MySQL數(shù)據(jù)庫(kù)中的事件/*>mysql_dump.sql表示將備份的數(shù)據(jù)庫(kù)內(nèi)容輸出到名為mysql_dump.sql的文件中。>符號(hào)表示將命令的輸出重定向到指定的文件中*/[root@server~]#mysqldump-uroot-p--single-transaction--all-databases--events>mysql_dump.sql/*--single-transaction表示在備份過(guò)程中使用單個(gè)事務(wù),這意味著備份期間數(shù)據(jù)庫(kù)將保持一致性,即使在備份過(guò)程中進(jìn)行了寫操作也不會(huì)影響備份結(jié)果。這對(duì)于在備份期間會(huì)執(zhí)行讀寫操作的生產(chǎn)環(huán)境非常有用,因?yàn)樗梢源_保備份的一致性*/(2)使用mysqldump命令備份指定的數(shù)據(jù)庫(kù)。[root@server~]#mysqldump-uroot-pmy_database--single-transaction--events>mysql_mydatabase.sqlmysql>createdatabasetest_database;QueryOK,1rowaffected(0.03sec)mysql>usetest_database;Databasechangedmysql>showtables;Emptyset(0.00sec)(3)創(chuàng)建test_database數(shù)據(jù)庫(kù)用于數(shù)據(jù)恢復(fù)。備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)(4)依次執(zhí)行mysql_mydatabase.sql文件中的所有SQL語(yǔ)句,以恢復(fù)test_database數(shù)據(jù)庫(kù)中的數(shù)據(jù)。[root@server~]#mysql-uroot-ptest_database<mysql_mydatabase.sqlEnterpassword:(5)查詢test_database數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息。mysql>usetest_database;Databasechangedmysql>showtables;+-------------------------+|Tables_in_test_database|+-------------------------+|departments||employees|+-------------------------+2rowsinset(0.01sec)mysql>select*fromemployees;備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)2.MySQL數(shù)據(jù)庫(kù)的克隆數(shù)據(jù)庫(kù)克隆需要兩臺(tái)主機(jī),mysqlserver主機(jī)作為克隆源主機(jī),IP地址為0;backup作為數(shù)據(jù)接收主機(jī),IP地址為1。兩臺(tái)主機(jī)都已經(jīng)安裝好mysql-server數(shù)據(jù)庫(kù)軟件。(1)分別在兩臺(tái)主機(jī)上編輯配置文件f,添加克隆參數(shù)。[root@mysqlserver~]#vi/etc/f.d/f[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socklog-error=/var/log/mysql/mysqld.logpid-file=/run/mysqld/mysqld.pidplugin-load=mysql_clone.sogtid_mode=ONenforce_gtid_consistency=ON[root@backup~]#vi/etc/f.d/f[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socklog-error=/var/log/mysql/mysqld.logpid-file=/run/mysqld/mysqld.pidplugin-load=mysql_clone.sogtid_mode=ONenforce_gtid_consistency=ON#datadir:指定數(shù)據(jù)庫(kù)文件的存儲(chǔ)路徑
#socket:指定MySQL服務(wù)器用于與客戶端通信的套接字文件路徑#log-error:指定錯(cuò)誤日志文件的路徑。MySQL服務(wù)器將與錯(cuò)誤相關(guān)的信息記錄到該文件中#pid-file:指定PID文件的路徑。PID文件中包含MySQL服務(wù)器進(jìn)程的PID#plugin-load:加載特定插件#gtid_mode:用于設(shè)置是否啟用GTID(GlobalTtansactionIdentifier,全局事務(wù)標(biāo)識(shí))模式。GTID是一種用于跟蹤復(fù)制事務(wù)的機(jī)制,啟用GTID可以簡(jiǎn)化復(fù)制配置和故障恢復(fù)#enforce_gtid_consistency:用于設(shè)置是否強(qiáng)制實(shí)施GTID一致性。服務(wù)器通過(guò)僅允許執(zhí)行可使用GTID進(jìn)行安全記錄的語(yǔ)句來(lái)強(qiáng)制實(shí)施GTID一致性備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)(2)分別在兩臺(tái)主機(jī)上重啟mysqld服務(wù)使配置生效。[root@mysqlserver~]#systemctlrestartmysqld[root@backup~]#systemctlrestartmysqld(3)分別在兩臺(tái)主機(jī)上查詢MySQL服務(wù)的克隆功能是否啟用。[root@mysqlserver~]#mysql-uroot-p-e"selectplugin_name,plugin_status,plugin_typefrominformation_schema.pluginswhereplugin_name='clone';"Enterpassword:#輸入mysql數(shù)據(jù)庫(kù)root賬戶密碼+-------------+---------------+-------------+|plugin_name|plugin_status|plugin_type|+-------------+---------------+-------------+|clone|ACTIVE|CLONE|+-------------+---------------+-------------+[root@backup~]#mysql-uroot-p-e"selectplugin_name,plugin_status,plugin_typefrominformation_schema.pluginswhereplugin_name='clone'"Enterpassword:#輸入mysql數(shù)據(jù)庫(kù)root賬戶密碼+-------------+---------------+-------------+|plugin_name|plugin_status|plugin_type|+-------------+---------------+-------------+|clone|ACTIVE|CLONE|+-------------+---------------+-------------+mysql>SHOWVARIABLESLIKE'gtid_mode';+---------------+-------+|Variable_name|Value|+---------------+-------+|gtid_mode|ON|+---------------+-------+1rowinset(0.00sec)備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)(4)在克隆源主機(jī)mysqlserver上創(chuàng)建用戶,并賦予用戶權(quán)限。mysql>createuser'clone_user1'@'%'identifiedby'RedHat1993.';QueryOK,0rowsaffected(0.03sec)mysql>grantBACKUP_ADMINon*.*to'clone_user1'@'%';QueryOK,0rowsaffected(0.01sec)(5)在克隆源主機(jī)mysqlserver上,將克隆源數(shù)據(jù)目錄的內(nèi)容復(fù)制到指定的目標(biāo)路徑中。[root@mysqlserver~]#mysql-uroot-p-e"clonelocaldatadirectory='/var/lib/mysql-files/backup01/';"Enterpassword:[root@mysqlserver~]#ll/var/lib/mysql-files/backup01/total70660drwxr-x---.2mysqlmysql89Mar2021:28'#clone'-rw-r-----.1mysqlmysql3528Mar2021:28ib_buffer_pool-rw-r-----.1mysqlmysql16777216Mar2021:28undo_001-rw-r-----.1mysqlmysql16777216Mar2021:28undo_002……(6)在數(shù)據(jù)接收主機(jī)backup上創(chuàng)建用戶,并賦予用戶權(quán)限。mysql>createuser'clone_user1'@'%'identifiedby'RedHat1993.';QueryOK,0rowsaffected(0.03sec)mysql>grantBACKUP_ADMINon*.*to'clone_user1'@'%';QueryOK,0rowsaffected(0.01sec)(7)在數(shù)據(jù)接收主機(jī)backup上,設(shè)置全局變量clone_valid_donor_list的值為'0:3306',指定允許作為克隆源的MySQL實(shí)例的地址和端口。mysql>setglobalclone_valid_donor_list='0:3306';QueryOK,0rowsaffected(0.00sec)#上述命令用于設(shè)置克隆源IP地址為0、端口為3306的MySQL實(shí)例備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)(8)在數(shù)據(jù)接收主機(jī)backup上,從克隆源主機(jī)mysqlserver上克隆一個(gè)MySQL實(shí)例。mysql>cloneinstancefromclone_user1@0:3306identifiedby'RedHat1993.'datadirectory='/var/lib/mysql-files/backup01/’;#fromclone_user1@0:3306:指定要克隆的源MySQL實(shí)例的連接信息。其中,clone_user1為源MySQL實(shí)例的用戶名,0為源MySQL實(shí)例的IP地址,3306為源MySQL實(shí)例的端口號(hào)*/#identifiedby'RedHat1993.':指定用于連接源MySQL實(shí)例的密碼#datadirectory='/var/lib/mysql-files/backup01/':指定克隆數(shù)據(jù)目錄的目標(biāo)路徑(9)在數(shù)據(jù)接收主機(jī)backup上檢查克隆操作的狀態(tài),狀態(tài)值為“Completed”表示克隆操作已經(jīng)完成。mysql>selectSTATEfromperformance_schema.clone_status;+-----------+|STATE|+-----------+|Completed|+-----------+1rowinset(0.01sec)(10)在數(shù)據(jù)接收主機(jī)backup上查詢克隆操作的二進(jìn)制日志文件信息。mysql>SELECTBINLOG_FILE,BINLOG_POSITIONFROMperformance_schema.clone_status;+---------------+-----------------+|BINLOG_FILE|BINLOG_POSITION|+---------------+-----------------+|binlog.000002|722|+---------------+-----------------+備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)(11)在數(shù)據(jù)接收主機(jī)backup上查詢克隆后的數(shù)據(jù)庫(kù)信息,my_database數(shù)據(jù)庫(kù)以及departments、employees表均克隆成功。mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||my_database||mysql||performance_schema||sys|+--------------------+5rowsinset(0.00sec)mysql>usemy_database;Databasechangedmysql>showtables;+-----------------------+|Tables_in_my_database|+-----------------------+|departments||employees|+-----------------------+2rowsinset(0.01sec)備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)3.MySQL主從數(shù)據(jù)庫(kù)配置MySQL主從數(shù)據(jù)庫(kù)配置需要兩臺(tái)主機(jī),第1臺(tái)主機(jī)名為mastermysql,IP地址為0;第2臺(tái)主機(jī)名為slavemysql,IP地址為1,兩臺(tái)主機(jī)都已經(jīng)安裝好mysql-server數(shù)據(jù)庫(kù)軟件。MySQL主從復(fù)制可將mastermysql主機(jī)上的MySQL數(shù)據(jù)同步到其他slavemysql主機(jī)上。(1)在mastermysql主機(jī)上,編輯配置文件f,在[mysqld]段中添加參數(shù)。[root@mastermysql~]#vi/etc/f.d/f[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socklog-error=/var/log/mysql/mysqld.logpid-file=/run/mysqld/mysqld.pidgtid_mode=ONenforce_gtid_consistency=ONlog-bin=/var/lib/mysql/mysql-bin.logserver-id=101bind-address=0(2)在mastermysql主機(jī)上,重啟mysqld服務(wù)使配置參數(shù)生效。[root@mastermysql~]#systemctlrestartmysqld備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)(3)在slavemysql主機(jī)上,編輯配置文件f,在[mysqld]段中添加參數(shù)。[root@slavemysql~]#vi/etc/f.d/f[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socklog-error=/var/log/mysql/mysqld.logpid-file=/run/mysqld/mysqld.pidgtid_mode=ONenforce_gtid_consistency=ONserver-id=102log-bin=/var/lib/mysql/mysql-bin.logrelay-log=slavemysql-relay-binrelay-log-index=slavemysql-relay-binlog-replica-updates=ONskip-replica-start=ONmysql>createuser'replication_user1'@'%'identifiedby'RedHat1993.';mysql>grantreplicationslaveon*.*toreplication_user1@'%';mysql>flushprivileges;(4)在slavemysql主機(jī)上,重啟mysqld服務(wù)使配置參數(shù)生效。[root@slavemysql~]#systemctlrestartmysqld(5)在mastermysql主機(jī)上,創(chuàng)建用戶,并賦予其復(fù)制權(quán)限,重新載入MySQL數(shù)據(jù)庫(kù)中的授權(quán)表。(6)在mastermysql主機(jī)上,將源服務(wù)器設(shè)置為只讀狀態(tài)。mysql>SET@@GLOBAL.read_only=ON;(7)在slavemysql主機(jī)上,將副本服務(wù)器設(shè)置為只讀狀態(tài)。mysql>SET@@GLOBAL.read_only=ON;備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)(8)在mastermysql主機(jī)上,獲取主節(jié)點(diǎn)的當(dāng)前二進(jìn)制日志文件名、位置以及執(zhí)行的GTID集合的詳細(xì)信息。mysql>SHOWMASTERSTATUS\G;***************************1.row***************************File:mysql-bin.000002#表示當(dāng)前正在寫入的二進(jìn)制日志文件的名稱
Position:4264#表示當(dāng)前寫入位置在該二進(jìn)制日志文件中的偏移量
Binlog_Do_DB:Binlog_Ignore_DB:Executed_Gtid_Set:55aa5c8b-e691-11ee-bd5a-525400635a76:1-291rowinset(0.00sec)(9)在slavemysql主機(jī)上,先停止從節(jié)點(diǎn)的復(fù)制進(jìn)程,再用指定的配置連接到主節(jié)點(diǎn),從指定的二進(jìn)制日志文件和位置復(fù)制數(shù)據(jù)。mysql>stopslave;mysql>changemastertomaster_host='0',master_user='replication_user1',master_password='RedHat1993.',master_log_file='mysql-bin.000002',master_log_pos=4264;#master_host='0':指定主節(jié)點(diǎn)的IP地址或主機(jī)名#master_user='replication_user1':指定連接主節(jié)點(diǎn)所使用的用戶名#master_password='RedHat1993.':指定連接主節(jié)點(diǎn)所使用的密碼#master_log_file='mysql-bin.000002':指定從哪個(gè)二進(jìn)制日志文件開(kāi)始復(fù)制。這里設(shè)置為mysql-bin.000002,表示從節(jié)點(diǎn)將從該日志文件開(kāi)始復(fù)制#master_log_pos=4264:指定從節(jié)點(diǎn)開(kāi)始復(fù)制的二進(jìn)制日志位置。這里設(shè)置為4264,表示從節(jié)點(diǎn)將從該位置開(kāi)始復(fù)制主節(jié)點(diǎn)的二進(jìn)制日志(10)在slavemysql主機(jī)上,啟動(dòng)從節(jié)點(diǎn)的復(fù)制進(jìn)程。從節(jié)點(diǎn)會(huì)持續(xù)監(jiān)聽(tīng)主節(jié)點(diǎn)的二進(jìn)制日志,并根據(jù)主節(jié)點(diǎn)的更新進(jìn)行相應(yīng)的復(fù)制操作,確保從節(jié)點(diǎn)的數(shù)據(jù)與主節(jié)點(diǎn)保持一致。mysql>startslave;備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)(11)獲取從節(jié)點(diǎn)的復(fù)制狀態(tài)和相關(guān)參數(shù)的詳細(xì)信息。mysql>showslavestatus\G***************************1.row***************************Slave_IO_State:WaitingforsourcetosendeventMaster_Host:0Master_User:replication_user1Master_Port:3306Connect_Retry:60Master_Log_File:mysql-bin.000002Read_Master_Log_Pos:4264Relay_Log_File:slavemysql-relay-bin.000002Relay_Log_Pos:326Relay_Master_Log_File:mysql-bin.000002Slave_IO_Running:YesSlave_SQL_Running:YesExec_Master_Log_Pos:4264Relay_Log_Space:541Master_Server_Id:101#Slave_IO_Running:表示從節(jié)點(diǎn)的復(fù)制IO線程是否正在運(yùn)行#Slave_SQL_Running:表示從節(jié)點(diǎn)的復(fù)制SQL線程是否正在運(yùn)行(12)在mastermysql主機(jī)上創(chuàng)建數(shù)據(jù)庫(kù)并添加表格數(shù)據(jù)。[root@mastermysql~]#mysql-uroot-pEnterpasswor
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省資陽(yáng)市安岳中學(xué)2025-2026學(xué)年八年級(jí)上學(xué)期期末考試道德與法治試卷(含答案)
- 湖北省黃岡市黃梅縣育才高級(jí)中學(xué)2025-2026學(xué)年高二上學(xué)期1月月考地理試題(含答案)
- 高強(qiáng)鋼在鋼結(jié)構(gòu)中的應(yīng)用要點(diǎn)
- “十五五”系列研究報(bào)告:產(chǎn)業(yè)政策邁向2035年的關(guān)鍵密碼
- 2026山東聊城要素綜合服務(wù)有限公司招聘1人備考考試題庫(kù)及答案解析
- 2026年聊城市中醫(yī)醫(yī)院“水城優(yōu)才”青年人才引進(jìn)備考考試題庫(kù)及答案解析
- 2026廣東廣州市增城區(qū)華南師范大學(xué)附屬朱村實(shí)驗(yàn)小學(xué)臨聘教師招聘考試備考試題及答案解析
- 公廁專項(xiàng)施工方案(3篇)
- 愛(ài)心會(huì)員活動(dòng)策劃方案(3篇)
- 廣場(chǎng)水電施工方案(3篇)
- 醫(yī)療器械生產(chǎn)質(zhì)量管理規(guī)范自查表(2026版)
- 銀行個(gè)人貸款風(fēng)險(xiǎn)評(píng)估管理辦法
- 2025年度電氣工程師述職報(bào)告
- 生活委員培訓(xùn)
- 檔案館機(jī)房設(shè)施設(shè)備管理制度
- 2026年質(zhì)量員之土建質(zhì)量基礎(chǔ)知識(shí)考試題庫(kù)及答案(必刷)
- 2025年中國(guó)抑郁障礙防治指南
- FGR的基因檢測(cè)策略與臨床解讀
- 建筑施工工地安全隱患排查清單
- 承壓管道焊接培訓(xùn)課件
- 搬家公司項(xiàng)目管理
評(píng)論
0/150
提交評(píng)論