mysql主從配置詳細步驟(測試成功)

mysql主從配置

相關的理論知識大家可以網上找一下,我這裏主要從實戰的配置來介紹mysql主從配置,查詢了很多資料,也測試了很多遍,最後自己整理出這份能成功mysql主從的配置步驟。

環境介紹和說明

由於測試的環境是在windows服務器上測試的,所以整個環境配置按windows來配置,linux的也差不多,可以相應修改一下即可。2臺服務器都是新裝的系統,操作會一步一步按標準來進行。

            主庫和從庫操作系統:win 2012
            主庫和從庫版本:mysql-5.7.23-winx64
            主庫的IP地址:192.168.18.82
            從庫的IP地址:192.168.18.83
            主從的端口:3306

數據庫安裝

數據庫安裝

上mysql官網下載數據包版本mysql-5.7.23-winx64,然後解壓到D盤;配置環境變量path(;D:\mysql-5.7.23-winx64\bin);安裝vcredist_x64(好像一個xxx120.dll之類的)。主從數據庫都一樣

主數據庫配置

在主數據庫D:\mysql-5.7.23-winx64根目錄下建一個my.ini的文件。內容:

    [mysql]             
    # 設置mysql客戶端默認字符集
   default-character-set=utf8      ###這裏設置字符集,用了一段時間報錯,現在我默認註釋了
   [mysqld]
   #設置3306端口
   port = 3306
   # 設置mysql的安裝目錄
   basedir=D:\mysql-5.7.23-winx64
    # 設置mysql數據庫的數據的存放目錄
   datadir=D:\mysql-5.7.23-winx64\data
   # 允許最大連接數
  max_connections=200
  # 服務端使用的字符集默認爲8比特編碼的latin1字符集
 character-set-server=utf8
 # 創建新表時將使用的默認存儲引擎
 default-storage-engine=INNODB
     default_password_lifetime=0
 ##設置服務器ID,必須保持唯一性
 server-id=1
 ##設置需要寫bin日誌的數據庫,多個數據庫則要多行分別設置
binlog-do-db=test
##設置不需要寫bin日誌的數據庫,多個數據庫則要多行分別設置
    #binlog-ignore-db=mysql
#binlog-ignore-db=information_schema
##注:binlog-do-db, binlog-ignore-db 爲互斥關係,只需設置其中一項即可;    
##更要注意binlog-do-db庫的SQL不能有操作binlog-ignore-db庫的語句或動作,否則報錯
##日誌模式
binlog-format=row
##二進制日誌文件存放位置,可以設置路徑;也可以不設置,此時存放到
log-bin=D:/mysql-5.7.23-winx64/data/test-binlog

上面的內容只需要根據自己配置的數據把 binlog-do-db=test和 log-bin=D:/mysql-5.7.23-winx64/data/test-binlog中的test數據庫改成自己的數據庫名即可,其他不需要改動。

然後打開 cmd進入到主數據庫bin目錄下進行配置:
mysql主從配置詳細步驟(測試成功)

mysqld --initialize --user=mysql --console      #初始化並創建data文件夾;
mysqld --install                                               #安裝數據庫並檢查是否成功;
net start mysql                                                #啓動mysql數據;
mysql -u root -p                                              #進入數據庫;

mysql主從配置詳細步驟(測試成功)

set password=password('root')  ;                     #更改root的密碼爲root
CREATE USER 'abc'@'192.168.18.83' IDENTIFIED BY '123456';  #創建用戶abc,密碼是123456
GRANT REPLICATION SLAVE ON *.* TO 'abc'@'192.168.18.83';#分配權限;
 flush privileges; #刷新權限
CREATE DATABASE test;  #創建test數據庫
show master status;   #查看master狀態,記錄二進制文件名

主庫配置完成,先放着,別關閉,等下從庫配置需要用到二進制文件名和POS端口

從數據庫配置

在從數據庫D:\mysql-5.7.23-winx64根目錄下建一個my.ini的文件。內容:

 [mysql]
   # 設置mysql客戶端默認字符集
  default-character-set=utf8      ###這裏設置字符集,用了一段時間報錯,         現在我默認註釋了
  [mysqld]
  #設置3306端口
  port = 3306
  # 設置mysql的安裝目錄
  basedir=D:\mysql-5.7.23-winx64
  # 設置mysql數據庫的數據的存放目錄
  datadir=D:\mysql-5.7.23-winx64\data
   # 允許最大連接數
   max_connections=200
   # 服務端使用的字符集默認爲8比特編碼的latin1字符集
  character-set-server=utf8
  # 創建新表時將使用的默認存儲引擎
 default-storage-engine=INNODB
      default_password_lifetime=0
 ##設置服務器ID,必須保持唯一性
 server-id=2
 ##設置需要寫bin日誌的數據庫,多個數據庫則要多行分別設置
 replicate-do-db=test
 ##設置不需要寫bin日誌的數據庫,多個數據庫則要多行分別設置
 replicate-ignore-db=information_schema
  replicate-ignore-db=mysql
 replicate-ignore-db=performance_schema
 replicate-ignore-db=sys

上面的內容只需要根據自己配置的數據把 replicate-do-db=test中的test數據庫改成自己的數據庫名即可,其他不需要改動。
然後打開 cmd進入到主數據庫bin目錄下進行配置:
mysql主從配置詳細步驟(測試成功)

mysqld --initialize --user=mysql --console      #初始化並創建data文件夾;
mysqld --install                                               #安裝數據庫並檢查是否成功;
net start mysql                                                #啓動mysql數據;
mysql -u root -p                                              #進入數據庫;

mysql主從配置詳細步驟(測試成功)

set password=password('root')  ;                     #更改root的密碼爲root
CREATE DATABASE test;  #創建test數據庫   
    change master to
     master_host='192.168.18.82',                        #主數據庫地址
  master_user='abc',                                          #用戶
  master_password='123456',                           #密碼
  master_log_file='test-binlog.000002',              #主數據庫生成的log文件名
         master_log_pos=1172;                                   #主數據庫生成的log_pos

        start slave;                                                    # 啓動從數據庫

       show slave status \G;                                    #查看從庫狀態

mysql主從配置詳細步驟(測試成功)

當Slave_IO_Running和Slave_SQL_Running都爲YES的時候就表示主從同步設置成功了。接下來就可以進行一些驗證了,比如在主master數據庫的test數據庫的一張表中插入一條數據,在slave的test庫的相同數據表中查看是否有新增的數據即可驗證主從複製功能是否有效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章