www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 嵌入式微處理器
[導(dǎo)讀]原創(chuàng)地址:https://www.cnblogs.com/zzzynx/p/11125892.html 原創(chuàng)作者:四次元豬肉 環(huán)境準(zhǔn)備 一個(gè)腳本自動(dòng)部署master服務(wù) 另一個(gè)部署slave服務(wù) 關(guān)閉主從節(jié)點(diǎn)的防火墻 以及事先設(shè)置好root遠(yuǎn)程登陸的權(quán)限。? grant all on *.* to root@'%' identified by 'root'

原創(chuàng)地址:https://www.cnblogs.com/zzzynx/p/11125892.html

原創(chuàng)作者:四次元豬肉


環(huán)境準(zhǔn)備

一個(gè)腳本自動(dòng)部署master服務(wù) 另一個(gè)部署slave服務(wù) 關(guān)閉主從節(jié)點(diǎn)的防火墻 以及事先設(shè)置好root遠(yuǎn)程登陸的權(quán)限。  grant all on *.* to root@'%' identified by 'root' ;

master

    
import paramiko ssh=paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname='192.168.253.168',port=22,username='root',password='root') a="sed -i -e '12aserver_id=1' -e '13alog_bin=mysql_bin' /etc/my.cnf.d/server.cnf" b= 'systemctl restart mariadb' c='''mysql -uroot -proot -e "grant replication slave on *.* to 'slave'@'%' identified by 'slave'"''' d='''mysql -uroot -proot -e "show master status" '''
當(dāng)然也可以將abcd四條命令寫(xiě)入一個(gè)列表,使用for語(yǔ)句循環(huán)出來(lái)放入下面命令執(zhí)行。
stdin,stderr,stdout=ssh.exec_command(d)    #將abcd分別執(zhí)行 res = stdout.read().decode('utf-8') + stderr.read().decode('utf-8') print(res) 運(yùn)行顯示結(jié)果: sed -i -e '12aserver_id=1' -e '13alog_bin=mysql_bin' /etc/my.cnf.d/server.cnf systemctl restart mariadb mysql -uroot -p1 -e "grant replication slave on *.* to 'slave'@'%' identified by 'slave'" mysql -uroot -p1 -e "show master status" File Position Binlog_Do_DB Binlog_Ignore_DB mysql_bin.000012 887350
在linux端查看是否配置成功。
注: mysql -uroot -p1 -e   此命令可以使用paramiko模塊直接執(zhí)行sql語(yǔ)句。e是edit的意思。
當(dāng)然,也可以使用pymsql模塊連接mysql數(shù)據(jù)庫(kù)然后利用cur游標(biāo)里封裝的execute方法來(lái)執(zhí)行sql語(yǔ)句,但是可能在執(zhí)行給與權(quán)限的命令時(shí)會(huì)報(bào)錯(cuò),因?yàn)檫h(yuǎn)程登陸并沒(méi)有權(quán)限這么做。

slave

如下的file變量和port變量在master節(jié)點(diǎn)會(huì)變動(dòng),特別時(shí)重啟數(shù)據(jù)庫(kù)后。如果查看slave status,顯示:  Slave_IO_Running: No  Slave_SQL_Running: No 或者一個(gè)YES一個(gè)connecting的話,這是因?yàn)橹鞴?jié)點(diǎn)的master狀態(tài)發(fā)生了變化或者兩臺(tái)主機(jī)的某一臺(tái)防火墻沒(méi)有關(guān)閉。
    
master_ip ='192.168.253.168' log_file='mysql_bin.000012' pos=887350
import paramiko ssh=paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname='192.168.253.167',port=22,username='root',password='root')
a="sed -i '12aserver_id=2' /etc/my.cnf.d/server.cnf" b='systemctl restart mariadb' c='''mysql -uroot -proot -e "CHANGE MASTER TO MASTER_HOST='%s', MASTER_USER='slave', MASTER_PASSWORD='slave', MASTER_LOG_FILE='%s', MASTER_LOG_POS=%s" '''%(master_ip,log_file,pos) d="mysql -uroot -proot -e 'start slave'" stdin,stderr,stdout=ssh.exec_command(d)        #將abcd分別執(zhí)行 res = stdout.read().decode('utf-8')+ stderr.read().decode('utf-8') print(res)
如果報(bào)錯(cuò):The server is not configured as slave; fix in config file or with CHANGE MASTER TO


1.原因一:配置文件沒(méi)有添加server_id=2,或者添加完沒(méi)有成功重啟。
2.原因二: mysql -uroot -p1 -e "CHANGE MASTER TO MASTER_HOST='%s', MASTER_USER='slave', MASTER_PASSWORD='slave', MASTER_LOG_FILE='%s', MASTER_LOG_POS=%s" ''' % (master_ip,log_file,pos)


這條命令沒(méi)有執(zhí)行成功,但注意這條命令不成功不會(huì)報(bào)錯(cuò),怎么檢測(cè)呢,可以粘貼腳本的這條命令到終端上執(zhí)行試試看能否成功。
結(jié)果顯示:
檢測(cè):在主節(jié)點(diǎn)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),并在從節(jié)點(diǎn)數(shù)據(jù)庫(kù)中查看是否同步上。 Master
slave

-END-




推薦閱讀



【01】我硬生生地把C代碼塞進(jìn)了Python和Ruby!
【02】自己「焊」鍵盤(pán):使用Python編寫(xiě)
【03】C++ 轉(zhuǎn) Python 這三年,我都經(jīng)歷了什么?
【04】給大神鼓掌:400行Python代碼實(shí)現(xiàn)文語(yǔ)處理助手!
【05】使用 Python 來(lái)開(kāi)發(fā) STM32F411 !



免責(zé)聲明:整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系刪除

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉