linux備份mysql需要暫停服務嗎_【MySQL運維】線上MySQL數據庫停服遷移流程

一、數據備份與恢復階段,選在凌晨1點進行操作,暫停服務進行備份(允許停服2個小時)

1、首先停止Nginx服務,并且修改數據庫用戶密碼,防止還有新的連接進來

2、殺掉某個用戶所有進程

for i in `mysql -udba -pPASSWORD -ssse "show full processlist"|grep DATABAES_NAME |awk '{print $1}'`; do /usr/local/mysql/bin/mysql -udba -pPASSWORD -e "kill $i"; done

3、開發人員記錄源庫數據

4、采用Innodbbackup對需要的數據庫做物理備份。需要備份的數據庫信息:A庫94G、B庫460M。另還需對mysql、performance_schema這2個庫做備份,此為mysql服務默認庫,保存有用戶權限等信息,恢復時需要用到。如果不備份這2個庫,數據還原后啟動服務會報錯Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist。備份命令如下:

time innobackupex --defaults-file=/etc/my.cnf --databases="mysql performance_schema database_a database_b" --user=dba --password=PASSWORD /data/backup/

5、將數據傳輸到新服務器,這2臺機器隨后會部署為主從模式

scp -r /data/backup/2018-12-05_11-59-45/ root@10.3.0.224:/data/backup/

scp -r /data/backup/2018-12-05_11-59-45/ root@10.3.0.225:/data/backup/

6、暫停目標服務器已經提前搭建好的MySQL 3310實例,清空數據目錄,重新初始化,準備還原

mysqladmin -udba -p -S /tmp/mysql3310.sock shutdown #停止新實例的服務

rm -rf /data/mysql3310 /data/dblog/mysql3310 /etc/my3310.cnf #刪除數據和配置

/usr/local/shell/mysql_multi_install.sh #這是只是一個初始化腳本

mysql -uroot -p`cat /data/mysql3310/passwd.txt` -S /tmp/mysql3310.sock

alter user root@'localhost' identified by 'PASSWORD';

grant all privileges on *.* to 'dba'@'%' identified by 'PASSWORD' with grant option;

grant all privileges on *.* to 'dba'@'localhost' identified by 'PASSWORD' with grant option;

mysqladmin -udba -p -S /tmp/mysql3310.sock shutdown #初始化完畢后再次停止服務準備還原數據

7、備份數據還原

rm -rf /data/mysql3310/*

innobackupex --defaults-file=/etc/my3310.cnf --apply-log /data/backup/2018-12-05_11-59-45/

innobackupex --defaults-file=/etc/my3310.cnf --copy-back /data/backup/2018-12-xx_xx-xx-xx/

chown -R mysql. /data/mysql3310

8、啟動服務

mysqld_safe --defaults-file=/etc/my3310.cnf &

二、主從部署階段(主節點:10.3.0.224;從節點:10.3.0.225)

1、登錄SQLYOG刪除原有repl賬戶信息,兩臺均操作

2、在224上授權并獲取binlog的位置信息

mysql -udba -p -S /tmp/mysql3310.sock

mysql > GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO repl@'10.3.0.225' IDENTIFIED BY 'PASSWORD';

mysql > show master status \G

3、在225從庫同步

mysql -udba -p -S /tmp/mysql3310.sock

CHANGE MASTER TO MASTER_HOST='10.3.0.224',MASTER_PORT=3310,MASTER_USER='repl',MASTER_PASSWORD='PASSWORD',MASTER_LOG_FILE='mysql-bin.xxxxx',MASTER_LOG_POS=xxx;

start slave;

三、域名切換

服務前移后使用了新域名,只需要做好解析即可,然后啟動Nginx觀察服務

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277546.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277546.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277546.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

免費下載!5本阿里技術好書,帶你看更大的世界

共享、開源是互聯網技術發展的重要精神。在過去,25000多萬名阿里工程師,撰寫了一系列精品技術叢書,從算法、研發到職業人生隨筆,應有盡有。目前該系列叢書已全部開放下載,供技術人免費閱讀。 今天小編整理了其中的五本…

python3安裝mysqlclient_Python3 安裝mysqlclient錯誤處理(MAC版)

在使用django的時候需要安裝mysqlclient庫,很多時候會出現以下報錯:running installrunning bdist_eggrunning egg_infowriting mysqlclient.egg-info/PKG-INFOwriting dependency_links to mysqlclient.egg-info/dependency_links.txtwriting top-level names to mysqlclient.…

React綁定事件處理函數this的幾種方法

在以類繼承的方式定義的組件中,為了能方便地調用當前組件的其他成員方法或屬性(如:this.state),通常需要將事件處理函數運行時的 this 指向當前組件實例。 綁定事件處理函數this的幾種方法: 第一種方法&…

烏班圖系統16.04安裝

本例jiyu基于Ubuntu16.04 64位版本為例進行安裝,安裝的方式有多種,本文使用光盤進行安裝安裝前應準備好,將Ubuntu的鏡像文件刻成光盤,然后將光盤放入光驅,并設置服務器從光盤啟動,開機到如下界面:按Enter鍵到下一步,如…

python做游戲用什么軟件_用Python自制谷歌小游戲

谷歌流量器中有個很有名的彩蛋:當你網絡出現問題時,就會出現一個“小恐龍游戲”。(如果想要直接進行游戲,可以在地址欄輸入:chrome://dino)今天我們就來給大家演示下,用Python來自己做一個仿制的“小恐龍游戲”&#x…

使用maven構建項目候,jar包錯誤的解決辦法

1、刪除架包,重新下載,右鍵項目點擊"run as"中的“maven clean”,然后再maven中找到Update Project 2、可以在代碼中,把鼠標放到報錯的架包上 點擊劃紅線部分,進行安裝 轉載于:https://www.cnblogs.com/qingqian/p/1099…

MySQL——通過EXPLAIN分析SQL的執行計劃

在MySQL中,我們可以通過EXPLAIN命令獲取MySQL如何執行SELECT語句的信息,包括在SELECT語句執行過程中表如何連接和連接的順序。下面分別對EXPLAIN命令結果的每一列進行說明:select_type:表示SELECT的類型,常見的取值有:…

python將argv作為參數_在jupyter / ipython notebook中將命令行參數傳遞給argv

經過大量的環顧后,我發現了非常繁瑣的自定義庫,但是用幾行代碼解決了它,我認為這些代碼很漂亮.我使用nbconvert最終得到一個html報告作為輸出,包含筆記本中的所有圖形和降價,但是通過最小的python包裝器接受命令行參數:python文件test_args.py(正常執行命令行參數)&…

模擬輸入(ADC-A0)

ESP8266具有內置的10位ADC,只有一個ADC通道(A0引腳),即只有一個ADC輸入引腳可讀取來自外部器件的模擬電壓 ESP8266上的ADC通道和芯片供電電壓復用,也就是說我們可以將其設置為測量系統電壓或者外部電壓 測量外部電壓: analogRead(…

SQL Server 連接超時案例一則

原文:SQL Server 連接超時案例一則上周六,一工廠系統管理員反饋一數據庫連接不上,SSMS連接數據庫報“連接超時時間已到。在嘗試使用預登錄握手確認時超過了此超時時間.......”, 如下截圖所示: 另外遠程連接也連接不上,系統管理員…

mysql 刪除5天前 備份_mysql自動備份刪除5天前的備份

1、查看磁盤空間情況:df -h2、創建備份目錄:上面我們使用命令看出/home下空間比較充足,所以可以考慮在/home保存備份文件;cd /homemkdir backupcd backup3、創建備份Shell腳本:注意把以下命令中的DatabaseName換為實際的數據庫名稱…

個人作業-Alpha項目測試

這個作業屬于哪個課程https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2作業地址https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/3340團隊名稱腦闊疼https://www.cnblogs.com/chaserFF/p/10994338.html這個作業的目標完成班級項目互評…

深入理解brew link命令

來源:https://newsn.net/say/brew-link-php71.html brew是mac機上面程序猿非常常用的軟件包安裝方式,其中有兩組命令是需要大家知曉的。分別是:第一組:brew install和brew uninstall。第二組,brew link和brew unlink。…

scss2css vscode設置_VSCode下讓CSS文件完美支持SCSS或SASS語法方法

VSCode下讓CSS文件完美支持SCSS或SASS語法方法習慣Webpack PostCSS后, 通常PostCSS都是直接對CSS文件進行處理, 但是大部分習慣SCSS/SASS/LESS的朋友也許不適應了. 我專門研究了一下, 在Visual Studio Code編輯器下如果配置相關代碼和設置達到CSS文件完美編寫SCSS的辦法, 其他…

第5章 初識JQuery

JQuery是對JavaScript的封裝,簡化了JS代碼,是主流框架的基礎(VUE,EasyUI,Bootstrap) 它是2006年推出的JQuery的優勢: 體積小,壓縮后只有100KB左右 強大的選擇器 出色的DOM封裝 可靠的事件處理機制 出色的瀏覽器兼容性 使用隱式迭代…

Jenkins的Pipeline腳本在美團餐飲SaaS中的實踐

2019獨角獸企業重金招聘Python工程師標準>>> 一、背景 在日常開發中,我們經常會有發布需求,而且還會遇到各種環境,比如:線上環境(Online),模擬環境(Staging)&…

6.12交流

czy bzoj5424燒橋計劃 f[i][j]暴力,可以分兩段轉移,更近的一段單調隊列 發現,最多分成sqrt(n)段。 因為如果只有一段,ansn*2000 而如果多段,至少是∑i*1000,那么,i的上界是sqrt(n)級別的。 所以…

java橢圓_如何用java畫橢圓

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓利用java畫出橢圓。也就是鼠標一邊移動一邊顯示出橢圓,如何做到請大神指教這是我寫的(沒有達到我自己的要求):import java.awt.*;import java.awt.Graphics;import java.awt.event.*;import javax.swing.*;i…

【springboot+easypoi】一行代碼搞定excel導入導出

原文:https://www.jianshu.com/p/5d67fb720ece 開發中經常會遇到excel的處理,導入導出解析等等,java中比較流行的用poi,但是每次都要寫大段工具類來搞定這事兒,此處推薦一個別人造好的輪子【easypoi】,下面…

用java編寫一個計算器_用java程序編寫一個計算器

展開全部給你一個參考,希望不62616964757a686964616fe58685e5aeb931333330343261要被百度吞了當晚餐import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.text.DecimalFor…