您好,登錄后才能下訂單哦!
相關的理論知識大家可以網上找一下,我這里主要從實戰的配置來介紹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目錄下進行配置:
mysqld --initialize --user=mysql --console #初始化并創建data文件夾;
mysqld --install #安裝數據庫并檢查是否成功;
net start mysql #啟動mysql數據;
mysql -u root -p #進入數據庫;
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目錄下進行配置:
mysqld --initialize --user=mysql --console #初始化并創建data文件夾;
mysqld --install #安裝數據庫并檢查是否成功;
net start mysql #啟動mysql數據;
mysql -u root -p #進入數據庫;
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; #查看從庫狀態
當Slave_IO_Running和Slave_SQL_Running都為YES的時候就表示主從同步設置成功了。接下來就可以進行一些驗證了,比如在主master數據庫的test數據庫的一張表中插入一條數據,在slave的test庫的相同數據表中查看是否有新增的數據即可驗證主從復制功能是否有效。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。