相關(guān)的理論知識(shí)大家可以網(wǎng)上找一下,我這里主要從實(shí)戰(zhàn)的配置來(lái)介紹mysql主從配置,查詢了很多資料,也測(cè)試了很多遍,最后自己整理出這份能成功mysql主從的配置步驟。
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括新絳網(wǎng)站建設(shè)、新絳網(wǎng)站制作、新絳網(wǎng)頁(yè)制作以及新絳網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,新絳網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到新絳省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
由于測(cè)試的環(huán)境是在windows服務(wù)器上測(cè)試的,所以整個(gè)環(huán)境配置按windows來(lái)配置,linux的也差不多,可以相應(yīng)修改一下即可。2臺(tái)服務(wù)器都是新裝的系統(tǒng),操作會(huì)一步一步按標(biāo)準(zhǔn)來(lái)進(jìn)行。
主庫(kù)和從庫(kù)操作系統(tǒng):win 2012
主庫(kù)和從庫(kù)版本:mysql-5.7.23-winx64
主庫(kù)的IP地址:192.168.18.82
從庫(kù)的IP地址:192.168.18.83
主從的端口:3306
上mysql官網(wǎng)下載數(shù)據(jù)包版本mysql-5.7.23-winx64,然后解壓到D盤;配置環(huán)境變量path(;D:\mysql-5.7.23-winx64\bin);安裝vcredist_x64(好像一個(gè)xxx120.dll之類的)。主從數(shù)據(jù)庫(kù)都一樣
在主數(shù)據(jù)庫(kù)D:\mysql-5.7.23-winx64根目錄下建一個(gè)my.ini的文件。內(nèi)容:
[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8 ###這里設(shè)置字符集,用了一段時(shí)間報(bào)錯(cuò),現(xiàn)在我默認(rèn)注釋了
[mysqld]
#設(shè)置3306端口
port = 3306
# 設(shè)置mysql的安裝目錄
basedir=D:\mysql-5.7.23-winx64
# 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄
datadir=D:\mysql-5.7.23-winx64\data
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default-storage-engine=INNODB
default_password_lifetime=0
##設(shè)置服務(wù)器ID,必須保持唯一性
server-id=1
##設(shè)置需要寫(xiě)bin日志的數(shù)據(jù)庫(kù),多個(gè)數(shù)據(jù)庫(kù)則要多行分別設(shè)置
binlog-do-db=test
##設(shè)置不需要寫(xiě)bin日志的數(shù)據(jù)庫(kù),多個(gè)數(shù)據(jù)庫(kù)則要多行分別設(shè)置
#binlog-ignore-db=mysql
#binlog-ignore-db=information_schema
##注:binlog-do-db,?binlog-ignore-db?為互斥關(guān)系,只需設(shè)置其中一項(xiàng)即可;
##更要注意binlog-do-db庫(kù)的SQL不能有操作binlog-ignore-db庫(kù)的語(yǔ)句或動(dòng)作,否則報(bào)錯(cuò)
##日志模式
binlog-format=row
##二進(jìn)制日志文件存放位置,可以設(shè)置路徑;也可以不設(shè)置,此時(shí)存放到
log-bin=D:/mysql-5.7.23-winx64/data/test-binlog
上面的內(nèi)容只需要根據(jù)自己配置的數(shù)據(jù)把 binlog-do-db=test和 log-bin=D:/mysql-5.7.23-winx64/data/test-binlog中的test數(shù)據(jù)庫(kù)改成自己的數(shù)據(jù)庫(kù)名即可,其他不需要改動(dòng)。
然后打開(kāi) cmd進(jìn)入到主數(shù)據(jù)庫(kù)bin目錄下進(jìn)行配置:
mysqld --initialize --user=mysql --console #初始化并創(chuàng)建data文件夾;
mysqld --install #安裝數(shù)據(jù)庫(kù)并檢查是否成功;
net start mysql #啟動(dòng)mysql數(shù)據(jù);
mysql -u root -p #進(jìn)入數(shù)據(jù)庫(kù);
set password=password('root') ; #更改root的密碼為root
CREATE USER 'abc'@'192.168.18.83' IDENTIFIED BY '123456'; #創(chuàng)建用戶abc,密碼是123456
GRANT REPLICATION SLAVE ON *.* TO 'abc'@'192.168.18.83';#分配權(quán)限;
flush privileges; #刷新權(quán)限
CREATE DATABASE test; #創(chuàng)建test數(shù)據(jù)庫(kù)
show master status; #查看master狀態(tài),記錄二進(jìn)制文件名
主庫(kù)配置完成,先放著,別關(guān)閉,等下從庫(kù)配置需要用到二進(jìn)制文件名和POS端口
在從數(shù)據(jù)庫(kù)D:\mysql-5.7.23-winx64根目錄下建一個(gè)my.ini的文件。內(nèi)容:
[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8 ###這里設(shè)置字符集,用了一段時(shí)間報(bào)錯(cuò), 現(xiàn)在我默認(rèn)注釋了
[mysqld]
#設(shè)置3306端口
port = 3306
# 設(shè)置mysql的安裝目錄
basedir=D:\mysql-5.7.23-winx64
# 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄
datadir=D:\mysql-5.7.23-winx64\data
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default-storage-engine=INNODB
default_password_lifetime=0
##設(shè)置服務(wù)器ID,必須保持唯一性
server-id=2
##設(shè)置需要寫(xiě)bin日志的數(shù)據(jù)庫(kù),多個(gè)數(shù)據(jù)庫(kù)則要多行分別設(shè)置
replicate-do-db=test
##設(shè)置不需要寫(xiě)bin日志的數(shù)據(jù)庫(kù),多個(gè)數(shù)據(jù)庫(kù)則要多行分別設(shè)置
replicate-ignore-db=information_schema
replicate-ignore-db=mysql
replicate-ignore-db=performance_schema
replicate-ignore-db=sys
上面的內(nèi)容只需要根據(jù)自己配置的數(shù)據(jù)把 replicate-do-db=test中的test數(shù)據(jù)庫(kù)改成自己的數(shù)據(jù)庫(kù)名即可,其他不需要改動(dòng)。
然后打開(kāi) cmd進(jìn)入到主數(shù)據(jù)庫(kù)bin目錄下進(jìn)行配置:
mysqld --initialize --user=mysql --console #初始化并創(chuàng)建data文件夾;
mysqld --install #安裝數(shù)據(jù)庫(kù)并檢查是否成功;
net start mysql #啟動(dòng)mysql數(shù)據(jù);
mysql -u root -p #進(jìn)入數(shù)據(jù)庫(kù);
set password=password('root') ; #更改root的密碼為root
CREATE DATABASE test; #創(chuàng)建test數(shù)據(jù)庫(kù)
change master to
master_host='192.168.18.82', #主數(shù)據(jù)庫(kù)地址
master_user='abc', #用戶
master_password='123456', #密碼
master_log_file='test-binlog.000002', #主數(shù)據(jù)庫(kù)生成的log文件名
master_log_pos=1172; #主數(shù)據(jù)庫(kù)生成的log_pos
start slave; # 啟動(dòng)從數(shù)據(jù)庫(kù)
show slave status \G; #查看從庫(kù)狀態(tài)
當(dāng)Slave_IO_Running和Slave_SQL_Running都為YES的時(shí)候就表示主從同步設(shè)置成功了。接下來(lái)就可以進(jìn)行一些驗(yàn)證了,比如在主master數(shù)據(jù)庫(kù)的test數(shù)據(jù)庫(kù)的一張表中插入一條數(shù)據(jù),在slave的test庫(kù)的相同數(shù)據(jù)表中查看是否有新增的數(shù)據(jù)即可驗(yàn)證主從復(fù)制功能是否有效。
當(dāng)前文章:mysql主從配置詳細(xì)步驟(測(cè)試成功)
文章鏈接:http://vcdvsql.cn/article30/gjgiso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、域名注冊(cè)、網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、網(wǎng)站內(nèi)鏈、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)