配置MySQL主從分離的方法教程

我們知道很多網(wǎng)站現(xiàn)在都采用主從分離、讀寫分離,那么本篇文章我們主要介紹mysql數(shù)據(jù)庫設(shè)置主從分離,希望大家對此有一個(gè)更清晰的認(rèn)識。

1、介紹

  mysql數(shù)據(jù)庫設(shè)置讀寫分離,可以使對數(shù)據(jù)庫的寫操作和讀操作在不同服務(wù)器上執(zhí)行,提高并發(fā)量和響應(yīng)速度。現(xiàn)在的網(wǎng)站一般大點(diǎn)的,都采用有數(shù)據(jù)庫主從分離、讀寫分離,既起到備份作用也可以減輕數(shù)據(jù)庫的讀寫的壓力,一直聽說過這些,但是從來沒有親自動手實(shí)踐過,今天有時(shí)間實(shí)踐一下,記錄下過程。

2、環(huán)境準(zhǔn)備

  我準(zhǔn)備了兩臺服務(wù)器,一個(gè)是本機(jī)PC,一個(gè)是遠(yuǎn)程服務(wù)器,分別在兩臺機(jī)子上裝有Mysql數(shù)據(jù)庫MySQL安裝我就不介紹了,這里需要注意的是:MySQL安裝的版本最好一致,如果不一致,低版本向高版本讀的時(shí)候可能有問題,最好保持一致。

  主庫master 服務(wù)器:172.10.10.69?centos 7?Linux系統(tǒng) ,?mysql版本 5.6.35

  從庫slave 本機(jī):172.10.10.240?Win7系統(tǒng),?mysql版本 5.6.35

3、主庫配置

  在主庫中創(chuàng)建一個(gè)用戶root,用于從庫讀取主庫的執(zhí)行日志。
  需要在mysql命令行里執(zhí)行,需要先登錄命令行

  1、GRANT?REPLICATION?SLAVE?ON *.*?TO?‘root’@’192.10.10.240’?IDENTIFIED?BY?‘123456’;  2、flush?privileges;?
  修改my.cnf文件:
  在【mysqld】下面添加

server-id=13log-bin=master-binlog-bin-index=master-bin.index

重啟MySQL

  進(jìn)入mysql命令行,輸入show master status;查看信息

記住File和Position,因?yàn)樵谂渲脧姆?wù)時(shí)要使用。

4、配置從服務(wù)器

修改my.cnf

server-id=2relay-log=slave-relay-binrelay-log-index=slave-relay-bin.index

重啟數(shù)據(jù)庫。

管連主數(shù)據(jù)庫,在命令行輸入一下命令:

change master to master_host=’192.10.10.69′, #Master 服務(wù)器Ipmaster_port=3306,master_user=’root’,master_password=’123456′, master_log_file=’master-bin.000255′, #Master日志文件名master_log_pos=1575; #Master日志同步開始位置

注意是否執(zhí)行成功,如果執(zhí)行失敗就好好檢查下代碼,看看哪里寫錯(cuò)了。
如果執(zhí)行正常,就啟動從庫slave,并查看下連接狀態(tài)。

//需要再mysql命令行執(zhí)行 start slave; show slave status; //查看slave連接狀態(tài)

狀態(tài)信息:

Slave_IO_State: Waiting for master to send event Master_Host: 45.78.57.4 Master_User: test Master_Port: 3306 Connect_Retry: 60 Master_Log_File: master-bin.000001 Read_Master_Log_Pos: 672913 Relay_Log_File: slave-relay-bin.000044 Relay_Log_Pos: 504 Relay_Master_Log_File: master-bin.000001 Slave_IO_Running: Yes //必須為YES Slave_SQL_Running: Yes  //必須為YES

如果Slave_IO_Running和Salve_SQL_Running不同時(shí)為YES,則配置錯(cuò)誤,檢查上面步驟。

5、測試

在主數(shù)據(jù)庫添加一條數(shù)據(jù),在從數(shù)據(jù)庫查看是否有數(shù)據(jù)。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊7 分享