程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql的主從服務器架構配置

Mysql的主從服務器架構配置

編輯:MySQL綜合教程

所謂主從Mysql服務器架構,就是在主服務器上的操作同時也拷貝一份到從服務器上來。
接下來我使用兩台機器做一下這個過程,
復制的作用:
  1.數據分部
  2.實現讀的負載均衡
  3.備份(本身不能備份,但是能提供一個備份機)
  4.高可用和故障轉移的能力
  5.測試Mysql的升級 
復制的類型:
a.基於語句的復制
b.基於行的復制
c.混合型的復制(a和b的結合)
服務器的地址規劃
主服務器IP:192.168.1.108
從服務器IP:192.168.1.110
實驗拓撲結構:
master_mysql-----------------client_mysql
1.安裝Mysql
#mkdir -vp /mydata/data
#groupadd -g 3306 mysql     
#useradd -g mysql -s /sbin/nologin -M -u 3306 mysql     
#chown -R  mysql:mysql  /www/mydata/     
# tar x mysql-5.5.15-linux2.6-i686.tar.gz  -C  /usr/local     
#ln -vs /usr/local/mysql-5.5.15-linux2.6-i686  /usr/local/mysql     
#cd /usr/local/mysql     
#chown -R mysql:mysql .     
#scripts/mysql_install_db --user=mysql --datadir=/mydata/data
#chown -R root .     
#cp support-files/mysql.server /etc/init.d/mysqld      
#chkconfig --add mysqld     
#cp support-files/my-large.cnf /etc/my.cnf    
#vim /etc/my.cnf         
添加:datadir=/mydata/data     
service mysqld start     
指定mysql二進制的文件:       
#export PATH=$PATH:/usr/local/mysql/bin(臨時)       
#vim /etc/profile        
添加PATH=$PATH:/usr/local/mysql/bin也行(永久)     
指定lib文件      
#vim /etc/ld.so.conf.d/mysql.conf         
添加: /usr/local/mysql/lib      
ldconfig 同步一下        
#ldconfig -v | grep mysql      
頭文件:         
#ln -sv /usr/local/mysql/include /usr/include/mysql      
幫助信息:         
#vim /etc/man.config            
添加:  MANPATH /usr/local/mysql/man   
這下配置需要在兩個服務器上都需要進行配置的
2.接下來開始真正的主從mysql服務器的配置了
主服務器的配置如下
#vim /etc/my.cnf  添加如下信息
log-bin=mysql-bin
log-bin-index=mysql-bin.index
binlog-format=maxed
server id = 1
修改完成後保存,重啟Mysql
#service mysqld restart
然後登錄到Mysql對192.168.1.110主機授權
#mysql
mysql> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO repl@'192.168.1.110' IDENTIFIED BY 'redhat';
mysql> FLUSH PRIVILEGES;
3.從文件配置
#vim /etc/my.cnf
注釋掉log-bin=mysql-bin,binlog-format=maxed
添加relay-log=relay-bin.index,relay-log=relay-bin,replicate-ignore-db =mysql
修改server-id = 2
保存配置文件後重新啟動Mysql
#service mysqld restart
#mysql
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.108',MASTER_USER='repl',MASTER_PASSWORD='redhat';
mysql> START SLAVE;
mysql> SHOW SLAVE STATUS\G;查看從服務器的運行狀態
如果出現如下信息,可以確定信息已經從主服務器上復制到了從服務器

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| luowei             |
| mysql              |
| performance_schema |
| test               |
+--------------------+
mysql> SELECT * FROM st;
+----+------+
| ID | Name |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | c    |
|  5 | E    |
+----+------+
這個時候主從服務器上的數據庫就同步了,實驗成功!!
本文出自 “IT夢-齊-分享”

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved