MySQL是一種流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它支持主-次復(fù)制方式,其中存在一個主庫和一個或多個次庫。
主庫是指被用來寫入數(shù)據(jù)的數(shù)據(jù)庫,它有唯一的讀寫權(quán)限。它的主要任務(wù)是處理所有的數(shù)據(jù)修改請求,并確保這些請求被安全地寫入到數(shù)據(jù)庫中。
示例代碼: CREATE TABLE `people` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `age` INT(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB;
次庫是指復(fù)制主庫的數(shù)據(jù)庫,它擁有唯一的讀權(quán)限。它的主要任務(wù)是接收主庫中所有寫入操作的信息,并將其復(fù)制到自己的數(shù)據(jù)庫中,以實現(xiàn)數(shù)據(jù)的同步更新。
示例代碼: CREATE DATABASE `mydatabase`; USE `mydatabase`; CREATE TABLE `people` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `age` INT(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB;
主庫可以有多個次庫,每個次庫都可以處于獨立的機器上,以確保高可用性。次庫可以被用來負(fù)載均衡,這樣可以將查詢請求分發(fā)到不同的次庫中,從而提高數(shù)據(jù)庫的性能。
總之,主-次復(fù)制方式是MySQL上最常用的復(fù)制方式,它可以實現(xiàn)數(shù)據(jù)的實時復(fù)制,確保數(shù)據(jù)的完整性和一致性。它非常適合于高可用性和高性能的數(shù)據(jù)庫場景。