所謂主從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 1m o:51/ch
# tar x mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local
#ln -vs /usr/local/mysql-5.5.15-linux2.6-i6866/i686//oosql cd /usr/local/mysql
#chown -R mysql:mysql .
#scripts/mysql_install_db --user=mysql --datadir
#scripts/mysql_install_db --user=mysql --datadir /mydata/data🜜#.R / server /etc/init.d/mysqld
#chkconfig --add mysqld
#cp support-files/my-large.cnf /et c/my.cnf
新增:datadir=/mydata /data
service mysqld start
指定mysql二進位的檔案:
#export PATH=$P
加PATH=$PATH:/usr/local /mysql/bin也行(永久)
指定lib檔
#vim /etc/ld.so.conf.d/mysql.conf
#ldconfig -v | grep mysql
頭檔案:
#ln -sv /usr/local/mysql/include 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> FLU,IV75; 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',MAAfrepl; START SLAVE;
mysql> SHOW SLAVE STATUSG;查看從伺服器的運行狀態
如果出現如下信息,可以確定信息已經從主伺服器上複製到了從伺服器
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------- -----+
| information_schema |
| luowei |
| mysql |
+--------------------+
mysql> SELECT * FROM st;
+----+------+
| ID | Name |
+----+------+
| 1 | a |
| 2 | b |
| 3 | c |
| 5 | E |
+----+------+
此時主從伺服器上的資料庫就同步了,實驗成功! !