《MYSQL教程mysql主從復(fù)制學(xué)習(xí)》要點(diǎn):
本文介紹了MYSQL教程mysql主從復(fù)制學(xué)習(xí),希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
1、如果主服務(wù)器出現(xiàn)問題,可以快速切換到從服務(wù)器.MYSQL入門
2、對(duì)與實(shí)時(shí)性要求不高或者更新不頻繁的應(yīng)用可以在從服務(wù)器上執(zhí)行查詢操作,降低主服務(wù)器的訪問壓力.將數(shù)據(jù)的讀寫進(jìn)行分離從而達(dá)到負(fù)載的效果.MYSQL入門
3、可以在從服務(wù)器進(jìn)行數(shù)據(jù)備份操作,以避免備份期間對(duì)主服務(wù)器的影響.MYSQL入門
master:192.168.6.224MYSQL入門
slave:192.168.6.222MYSQL入門
1、在主服務(wù)器中為從服務(wù)器設(shè)置授權(quán)用戶MYSQL入門
在主服務(wù)器中為從服務(wù)器192.168.6.222創(chuàng)建一個(gè)用戶名為user2的用戶,密碼是123MYSQL入門
mysql> grant all on *.* to user2@192.168.6.222 identified by "123";MYSQL入門
參數(shù)解釋:MYSQL入門
grant:mysql授權(quán)關(guān)鍵字MYSQL入門
*.* :所有庫(kù)所有表MYSQL入門
?MYSQL入門
查看用戶授權(quán)是否成功:MYSQL入門
mysql> show grants for user2@192.168.6.222;MYSQL入門
?MYSQL入門
測(cè)試在slave服務(wù)器上使用user2能否登陸master服務(wù)器上的mysqlMYSQL入門
[root@localhost tmp]# mysql -uuser2 -p123 test -h192.168.6.224;MYSQL入門
?MYSQL入門
2、開啟主服務(wù)器的bin-log日志并開設(shè)置server-id的值.MYSQL入門
修改主服務(wù)器的my.cnf配置文件:MYSQL入門
[mysqld]
#開啟mysql的bin-log日志
log-bin=mysql-bin
#主服務(wù)器該值設(shè)置為1
server-id = 1
3、重置bin-log日志:mysql> reset master;???MYSQL入門
查看最新的bin-log日志狀態(tài)看是否在起始位置: mysql> show master status;MYSQL入門
mysql> show master status;
+------------------+----------+--------------+------------------+
| File???????????? | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |????? 107 |????????????? |????????????????? |
+------------------+----------+--------------+------------------+MYSQL入門
4、備份主數(shù)據(jù)庫(kù)數(shù)據(jù)MYSQL入門
a、備份數(shù)據(jù)MYSQL入門
b、更新bin-log日志MYSQL入門
在這里我們使用mysqldump方式備份數(shù)據(jù)并使用 -l -F 參數(shù)直接在備份數(shù)據(jù)的時(shí)候設(shè)置讀鎖并更新bin-log日志MYSQL入門
? mysqldump -uroot -p111111 test -l -F > '/tmp/mysql_back/test.sql';MYSQL入門
5、將主服務(wù)器備份的數(shù)據(jù)發(fā)送到slave服務(wù)器MYSQL入門
[root@localhost tmp]# scp mysql_back/test.sql 192.168.6.222:/tmp/mysql_back/MYSQL入門
6、重置slave服務(wù)器上的bin-log日志并在slave服務(wù)器中使用備份的數(shù)據(jù)MYSQL入門
mysql> rester master;MYSQL入門
[root@localhost tmp]# mysql -uroot -p111111 test -v -f</tmp/mysql_back/test.sql;MYSQL入門
7、配置slave服務(wù)器中my.cnf參數(shù)MYSQL入門
a、#配置從服務(wù)器server-id =2 (如果有多臺(tái)從服務(wù)器則都有一個(gè)唯一的server-id)
server-id?= 2MYSQL入門
b、#開啟bin-log日志
log-bin=mysql-binMYSQL入門
c、#配置需要同步的主機(jī)、用戶名、密碼、端口號(hào)
?MYSQL入門
- #配置需要同步的主機(jī)?
- ?master-host?????=???192.168.6.224?
- #?The?username?the?slave?will?use?for?authentication?when?connecting?
- #?to?the?master?-?required?
- ?master-user?????=???user2?
- #?
- #?The?password?the?slave?will?authenticate?with?when?connecting?to?
- #?the?master?-?required?
- ?master-password?=???123?
- #?
- #?The?port?the?master?is?listening?on.?
- #?optional?-?defaults?to?3306?
- ?master-port?????=??3306?
d、重啟mysql讓配置文件生效MYSQL入門
[root@localhost tmp]# service mysqld restartMYSQL入門
如果改方式無法重啟mysql服務(wù)器可以使用下面的方式MYSQL入門
8、查看slave狀態(tài)
?MYSQL入門
- mysql>?show?slave?status\G;?
- ***************************?1.?row?***************************?
- ???????????????Slave_IO_State:?Waiting?for?master?to?send?event?
- ??????????????????Master_Host:?192.168.6.224?
- ??????????????????Master_User:?user2?
- ??????????????????Master_Port:?3306?
- ????????????????Connect_Retry:?60????//每隔60秒去master服務(wù)器同步一次bin-log日志?
- ??????????????Master_Log_File:?mysql-bin.000002?
- ??????????Read_Master_Log_Pos:?107?
- ???????????????Relay_Log_File:?localhost-relay-bin.000002??//slave服務(wù)器日志?
- ???????????????Relay_Log_Pos:?253?
- ????????Relay_Master_Log_File:?mysql-bin.000002?
- ?????????????Slave_IO_Running:?Yes?
- ?????????????Slave_SQL_Running:?Yes???//這兩行參數(shù)為yes表示主從配置成功?
Master_Log_File:代表主機(jī)上用于主備同步的日志文件名,MYSQL入門
Read_Master_Log_Pos:代表上一次成功同步到的日志文件中的位置.MYSQL入門
如果這兩項(xiàng)與先前在主服務(wù)器上看到的File及Position的值不相符,則無法正確進(jìn)行同步.MYSQL入門
1、在master服務(wù)器添加數(shù)據(jù)并查看bin-log日志狀態(tài)
?MYSQL入門
- mysql>?insert?into?t1?values(13);?
- Query?OK,?1?row?affected?(0.02?sec)?
- ?
- mysql>?insert?into?t1?values(14);?
- Query?OK,?1?row?affected?(0.01?sec)?
- ?
- mysql>?insert?into?t1?values(15);?
- Query?OK,?1?row?affected?(0.01?sec)?
- ?
- mysql>?show?master?status;?
- +------------------+----------+--------------+------------------+?
- |?File?????????????|?Position?|?Binlog_Do_DB?|?Binlog_Ignore_DB?|?
- +------------------+----------+--------------+------------------+?
- |?mysql-bin.000002?|??????656?|??????????????|??????????????????|?
- +------------------+----------+--------------+------------------+?
在這里可以看到主服務(wù)器的Postion與從服務(wù)器的Read_Master_Log_Pos值相等且Slave_IO_Running,Slave_SQL_Running值都是 Yes .這樣mysql的主從配置成功.MYSQL入門
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/5778.html