您好,登錄后才能下訂單哦!
Mysql 主 從 復 制
在實際企業應用環境當中,單臺mysql數據庫是不足以滿足日后業務需求的。譬如服務器發生故障,沒有備份服務器來提供服務的話,業務就得停止。介于這種情況,我們可以對mysql數據庫進行主從復制,mysql直接的主從復制需版本相同,可以跨平臺進行主從復制操作。
1、采用主從服務器這種架構,穩定性得以提升。如果主服務器發生故障,我們可以使用從服務器來提供服務。
2、在主從服務器上分開處理用戶的請求,可以提升數據處理效率。
3、將主服務器上的數據復制到從服務器上,保護數據免受意外的損失。
主服務器(mysql-master):IP地址:172.25.26.1,mysql已安裝,沒有用戶數據。
從服務器(mysql-slave):IP地址:172.25.26.2,mysql已安裝,沒有用戶數據。
在主服務器上操作:
1)、確保/etc/my.cnf中有如下參數,沒有的話需手工添加,并重啟mysql服務。
[root@localhost ~]# vim/etc/my.cnf
[mysqld]
log-bin=mysql-bin 啟動二進制文件
server-id=1 服務器ID
2)、登錄mysql,在mysql中添加一個backup的賬號,并授權給從服務器。
[root@localhost ~]# mysql –u root –p
mysql> create user admin@10.0.144.81 identified by'admin';
mysql> grant replication slave on *.* toadmin@10.0.144.81 identified by 'admin';(創建admin用戶,并授權給10.0.144.81使用。)
3)、查詢主數據庫狀態,并記下FILE及Position的值,這個在后面配置從服務器的時候要用到。
mysql> show master status;
1)、確保/etc/my.cnf中有log-bin=mysql-bin和server-id=1參數,并把server-id=1修改為server-id=10。修改之后如下所示:
[mysqld]
log-bin=mysql-bin 啟動二進制文件
server-id=10 服務器ID
2)、重啟mysql服務。
[root@localhost ~]#/etc/init.d/mysqldrestart
3)、登錄mysql,執行如下語句
[root@localhost ~]# mysql –u root –p
mysql> change master to master_host='172.25.26.1',master_user='admin',master_password='admin',master_log_file='mysql-bin.000001',master_log_pos=106;
4)、啟動slave同步。
mysql> start slave;
5)、檢查主從同步,如果您看到Slave_IO_Running和Slave_SQL_Running均為Yes,則主從復制連接正常。
mysql> show slave status\G
驗證配置是否正常,mysql主從能否正常復制。
在主數據庫上新建一個庫,并且在庫中寫一個表和一些數據。
[root@localhost ~]# mysql –u root –p
mysql> create database zhangfeng;
mysql> use zhangfeng;
mysql> create table zhang (id int(5),namechar(10));
mysql> insert into zhang values (2,'zhangfeng');
在從數據庫中驗證一下,是否正常復制到數據。
[root@localhost ~]# mysql -uroot –p123456
mysql> show databases;
mysql> select * from zhangfeng.zhang;
從上圖中的結果,我們可以看到mysql主從復制已經在起作用了,我們在主數據庫中寫入的數據已經復制到我們的從數據庫中了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。