欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php mysql復(fù)制

錢斌斌1年前8瀏覽0評論

PHP MySQL復(fù)制,是指在不同的MySQL服務(wù)器之間進行數(shù)據(jù)同步的過程。通俗來講,就是將一個MySQL服務(wù)器上的數(shù)據(jù)復(fù)制到另一個MySQL服務(wù)器上,以達到備份、負載均衡、升級以及數(shù)據(jù)庫分片的目的。

假設(shè)現(xiàn)在我們有兩臺MySQL服務(wù)器,一臺是主服務(wù)器,一臺是從服務(wù)器,我們要將主服務(wù)器上的數(shù)據(jù)復(fù)制到從服務(wù)器上,實現(xiàn)負載均衡的效果。我們可以采用MySQL的復(fù)制功能,將主服務(wù)器上的數(shù)據(jù)自動復(fù)制到從服務(wù)器上。

//主服務(wù)器配置
# vi /etc/my.cnf
log-bin=/var/lib/mysql-bin
server-id=1
#從服務(wù)器配置
# vi /etc/my.cnf
server-id=2
master-host=192.168.0.1
master-user=repl
master-password=repl
master-connect-retry=60

在主服務(wù)器上設(shè)置log-bin和server-id參數(shù),這兩個參數(shù)是MySQL復(fù)制必須的,前者用于開啟binlog日志,后者用于標(biāo)識當(dāng)前服務(wù)器的唯一標(biāo)識,這里我們將其設(shè)置為1。在從服務(wù)器上設(shè)置server-id參數(shù),以及連接主服務(wù)器的用戶名和密碼,這里我們將其分別設(shè)置為2、repl和repl。master-connect-retry參數(shù)用于設(shè)置從服務(wù)器連接主服務(wù)器超時時間,單位秒。

設(shè)置好參數(shù)后,在主服務(wù)器上創(chuàng)建一個專門用于復(fù)制的用戶。

# mysql -uroot -p
mysql>grant replication slave on *.* to 'repl'@'192.168.0.2' identified by 'repl';
mysql>flush privileges;

然后在主服務(wù)器上選擇要復(fù)制的數(shù)據(jù)。

# mysql -uroot -p
mysql>use test;
mysql>create table t1(id int primary key);
mysql>insert into t1 values(1),(2),(3);

接著在從服務(wù)器上啟動復(fù)制進程。

# mysql -uroot -p
mysql>stop slave;
mysql>change master to master_host='192.168.0.1', master_user='repl', master_password='repl', master_log_file='mysql-bin.000001', master_log_pos=0;
mysql>start slave;
mysql>show slave status;

使用change master命令設(shè)置主服務(wù)器的各項參數(shù),其中master_log_file和master_log_pos參數(shù)用于標(biāo)識當(dāng)前需要復(fù)制的binlog位置。設(shè)置完畢后,使用start slave命令啟動復(fù)制進程。

最后我們可以在主服務(wù)器上修改數(shù)據(jù),然后在從服務(wù)器上查看是否同步成功。

# mysql -uroot -p
mysql>use test;
mysql>insert into t1 values(4),(5),(6);

在從服務(wù)器上查看數(shù)據(jù)是否同步成功。

# mysql -uroot -p
mysql>use test;
mysql>select * from t1;

通過以上步驟,我們就可以成功的進行PHP MySQL復(fù)制了。實踐證明,MySQL復(fù)制功能不僅可以用于備份數(shù)據(jù),還可以用于構(gòu)建高可用、高性能的數(shù)據(jù)庫架構(gòu)。