MySQL之—如何新增資料庫到MySQL主從複製清單的具體介紹
#MySQL主從複製一般情況下我們會設定需要同步的資料庫,使用參數配置選項,binlog-do-db,可以在master上指定需要同步的資料庫,replicate-do-db在從資料看上指定需要同步的資料庫。 (一般只設定master上的binlog-do-db即可,不需要兩個同時設定。以防萬一,在slave也可以加上replicate-ignore-db)。
今天,我遇到的問題是,在master上面新增了一個資料庫,這個時候如何把新加入的這個資料庫加入到MySQL的主從複製鏈裡? (即不重新複製整個庫的情況下,重新設定主從複製)。
首先,我們列出主從複製的基本步驟,(MySQL主從首先需要在各自伺服器設定好)。
1. 複製資料庫
mysqldump --master-data --single-transaction -R --databases [db_name] | gzip -9 - | pv > all-db-with-master-data.sql.gz
注意:innodb用 –single-transaction, myisam需要用 –lock-all-tables。
2. 複製,導入資料
pv < all-db-with-master-data.sql.gz | zcat | mysql
3. 啟動slave資料庫。
slave start
注意:切換到主的語句已經在匯出的sql語句裡面了,注意查看。 change master to master_log_file=’(binlog name in relay_master_log_file)’, master_log_pos=(exec_master_log_pos number)。
那麼,在現有的主從複製結構中,如何增加一個新的資料庫進去?例如我們要增加一個資料庫在master伺服器上,例如,一個名為newdb的資料庫。具體操作如下:
1. 從服務上,停掉slave資料庫。
stop slave;
2. 主伺服器上,匯出新資料庫。
mysqldump --master-data --single-transaction -R --databases newdb > newdb.sql
3. 修改主伺服器my.cnf文件
主伺服器上,修改my.cnf文件,新增庫到binlog-do-db參數,重啟mysql。
4. 尋找目前的日誌檔案以及位置
在匯出的newdb.sql裡面尋找目前的日誌檔案以及位置(change master to …)
然後讓slave伺服器執行到這個位置。
start slave until MASTER_LOG_FILE="mysql-bin.000001", MASTER_LOG_POS=1222220;
其中MASTER_LOG_FILE以及MASTER_LOG_POS在匯出的資料庫newdb.sql頂部位置查找。
5. 匯入新庫到從伺服器上。
mysql < newdb.sql
6. 啟動從伺服器
start slave
其中比較重要的是在主伺服器上匯出新程式庫時的日誌位置(position A),這個點很重要,以此點做為分界線,匯入新庫。
這種方法也同樣適用於某個資料庫或某個資料表不同步的情況,例如主從資料庫有一個表由於某些原因資料不一致,那麼上面的方法只需要去掉重啟資料庫一步,其他的操作基本上都是相同的
以上是MySQL之—如何新增資料庫到MySQL主從複製清單的具體介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

如何有效監控MySQL性能?使用mysqladmin、SHOWGLOBALSTATUS、PerconaMonitoringandManagement(PMM)和MySQLEnterpriseMonitor等工具。 1.使用mysqladmin查看連接數。 2.用SHOWGLOBALSTATUS查看查詢數。 3.PMM提供詳細性能數據和圖形化界面。 4.MySQLEnterpriseMonitor提供豐富的監控功能和報警機制。

MySQL和SQLServer的区别在于:1)MySQL是开源的,适用于Web和嵌入式系统,2)SQLServer是微软的商业产品,适用于企业级应用。两者在存储引擎、性能优化和应用场景上有显著差异,选择时需考虑项目规模和未来扩展性。

在需要高可用性、高級安全性和良好集成性的企業級應用場景下,應選擇SQLServer而不是MySQL。 1)SQLServer提供企業級功能,如高可用性和高級安全性。 2)它與微軟生態系統如VisualStudio和PowerBI緊密集成。 3)SQLServer在性能優化方面表現出色,支持內存優化表和列存儲索引。

mySqlManagesCharacterSetsetSandCollationsyutusututf-8asthEdeFault,允許ConfigurationAtdataBase,table和columnlevels,AndrequiringCarefullageLignmentToavoidMismatches.1)setDefeaultCharactersetTercharactersetEtCollacterSeteTandColletationForAdataBase.2)conformentcollecharactersettersetertersetcollatertersetcollationcollation

MySQL觸發器是與表相關聯的自動執行的存儲過程,用於在特定數據操作時執行一系列操作。 1)觸發器定義與作用:用於數據校驗、日誌記錄等。 2)工作原理:分為BEFORE和AFTER,支持行級觸發。 3)使用示例:可用於記錄薪資變更或更新庫存。 4)調試技巧:使用SHOWTRIGGERS和SHOWCREATETRIGGER命令。 5)性能優化:避免複雜操作,使用索引,管理事務。

在MySQL中創建和管理用戶賬戶的步驟如下:1.創建用戶:使用CREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';2.分配權限:使用GRANTSELECT,INSERT,UPDATEONmydatabase.TO'newuser'@'localhost';3.修正權限錯誤:使用REVOKEALLPRIVILEGESONmydatabase.FROM'newuser'@'localhost';然後重新分配權限;4.優化權限:使用SHOWGRA

MySQL適合快速開發和中小型應用,Oracle適合大型企業和高可用性需求。 1)MySQL開源、易用,適用於Web應用和中小型企業。 2)Oracle功能強大,適合大型企業和政府機構。 3)MySQL支持多種存儲引擎,Oracle提供豐富的企業級功能。

MySQL相比其他關係型數據庫的劣勢包括:1.性能問題:在處理大規模數據時可能遇到瓶頸,PostgreSQL在復雜查詢和大數據處理上表現更優。 2.擴展性:水平擴展能力不如GoogleSpanner和AmazonAurora。 3.功能限制:在高級功能上不如PostgreSQL和Oracle,某些功能需要更多自定義代碼和維護。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

Dreamweaver CS6
視覺化網頁開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!