一、MySQL 主從庫(kù)安裝
韶關(guān)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!1、進(jìn)入 https://www.mysql.com 后點(diǎn)擊DOWNLOADS 進(jìn)入下載頁(yè)面。
2、進(jìn)入下載頁(yè)面后,選擇 MySQL Community(GPL)Downloads.
3、進(jìn)入 MySQL Community(GPL) Downloads后選擇 MySQLCommunity Server.
4、選擇操作系統(tǒng)為Windows 此時(shí)最新的版本已經(jīng)為8.0.19 可直接點(diǎn)擊Download下載,為了保證穩(wěn)定性,本次環(huán)境安裝選擇5.7.29版本,點(diǎn)擊Looking for previous GA version?下載歷史版本。
5、注意選擇數(shù)據(jù)庫(kù)版本、操作系統(tǒng)、以及軟件位數(shù)選擇;
6、選擇正確后直接點(diǎn)擊下載即可。
7、下載完成的軟件直接解壓后放置在不包含中文路徑的文件夾下(自行新建my.ini文件)。
8、修改my.ini中數(shù)據(jù)如下(設(shè)置service-id 值以及 log-bin 值為后續(xù)主從搭建做準(zhǔn)備), server-id表示唯一的標(biāo)識(shí)某個(gè)數(shù)據(jù)庫(kù)實(shí)例,若未配置log-bin則在執(zhí)行show start master 后會(huì)出現(xiàn) Empty set (0.01 sec)。
[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8
[mysqld]
server-id = 1
#啟用二進(jìn)制日志
log-bin=mysql-bin
#設(shè)置3306端口
port = 3306
# 設(shè)置mysql的安裝目錄
basedir=D:\MySQL Server 5.7.29\mysql-5.7.29-winx64
# 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄
datadir=D:\MySQL Server 5.7.29\mysql-5.7.29-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
9、MySQL環(huán)境變量配置(計(jì)算機(jī)右鍵->屬性->高級(jí)系統(tǒng)設(shè)置->環(huán)境變量)PATH中加入
;D:\MySQL Server 5.7.29\mysql-5.7.29-winx64\bin;
10、進(jìn)入MySQL存放路徑,在文件夾空白處,按住shift鍵后鼠標(biāo)右鍵單擊,出現(xiàn)“在此處打開命令窗口”,后進(jìn)入CMD窗口。
11、在相應(yīng)的CMD窗口中輸入:mysqld --install master --defaults-file=" D:\MySQL Server 5.7.29\mysql-5.7.29-winx64\my.ini" 進(jìn)行安裝,出現(xiàn)Service successfully installed,說(shuō)明服務(wù)安裝成功。注: 紅色字體的master為主庫(kù)mysql的服務(wù)名稱,路徑部分需根據(jù)各自情況自行進(jìn)行修改。
也可能出現(xiàn)報(bào)錯(cuò)缺少計(jì)算機(jī)丟失MSVCP120.dll只需前往微軟官網(wǎng) https://www.microsoft.com/zh-CN/download/details.aspx?id=40784 下載Visual C++ Redistributable Packages for Visual Studio 2013安裝后重新執(zhí)行MySQL安裝即可。
12、繼續(xù)在當(dāng)前CMD窗口執(zhí)行 net start master 啟動(dòng)服務(wù)出現(xiàn)以下內(nèi)容表示服務(wù)啟動(dòng)成功,至此主庫(kù)安裝完成,可以使用nactive連接對(duì)應(yīng)的數(shù)據(jù)庫(kù),注用戶名:root 、密碼:空、 端口為my.ini中設(shè)置的端口。
13、連接主庫(kù)無(wú)誤后,接下來(lái)創(chuàng)建從庫(kù)。復(fù)制一份主庫(kù)文件,修改文件名為源文件夾名+從庫(kù)需要設(shè)置的端口號(hào),注:此處可根據(jù)個(gè)人情況修改,以兩個(gè)數(shù)據(jù)庫(kù)源文件之間容易區(qū)分為準(zhǔn)。
14、從庫(kù)文件復(fù)制成功后,進(jìn)入D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307 修改my.ini為以下文件,標(biāo)紅的需要注意,若service-id與主庫(kù)一致時(shí),啟動(dòng)主從關(guān)系時(shí)會(huì)報(bào)(Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.),端口也需要修改否則執(zhí)行安裝時(shí)會(huì)報(bào)錯(cuò),log-bin值也需設(shè)定否則會(huì)報(bào)錯(cuò)( Got fatal error 1236 from master when reading data from binary log)。
[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8
[mysqld]
server-id = 2
#啟用二進(jìn)制日志
log-bin=mysql-bin
#設(shè)置3307端口
port = 3307
# 設(shè)置mysql的安裝目錄
basedir=D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307
# 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄
datadir=D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307\data
# 允許大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default-storage-engine=INNODB
15、修改 D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307\auto.cnf 中uuid值,由于是拷貝過(guò)來(lái)的如果不修改與主庫(kù)的值一致,搭建主從時(shí)會(huì)報(bào)錯(cuò) (Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.)。
[auto]
server-uuid=39e646a2-59f0-11ea-bf0b-14dae9636b20
16、參考安裝主庫(kù)步驟 9、10、11、12,安裝備庫(kù)服務(wù)并啟動(dòng)從庫(kù)服務(wù)。
mysqld --install slave --defaults-file="D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307\my.ini"
net start slave
17、連接主庫(kù)成功后使用nactive 工具給主庫(kù)創(chuàng)建一個(gè)名稱為sync用于主從同步的用戶,服務(wù)器權(quán)限需要全勾選。
也可以使用命令行創(chuàng)建用戶示例語(yǔ)句如下:
create user sync;
grant replication slave on *.* to ' sync'@'127.0.0.1'identified by ' sync';
flush privileges;
二、主從關(guān)聯(lián)
1、在主庫(kù)命令列界面中執(zhí)行 show master status; 并記住File列以及Position列對(duì)應(yīng)的值,后續(xù)在從庫(kù)中關(guān)聯(lián)主庫(kù)時(shí)會(huì)使用。
2、打開從庫(kù)的命令列界面,執(zhí)行
change master to master_host='127.0.0.1',master_port=3306,master_user='sync',master_password='sync',
master_log_file=' mysql-bin.000004',master_log_pos= 1924;
3、在從庫(kù)中執(zhí)行命令 start slave; 開啟主從同步。
4、在從庫(kù)中執(zhí)行show slave status \G; 帶換行的或者 show slave status不帶換行的查看salve的狀態(tài)。Slave_IO_Running 、Slave_SQL_Running 狀態(tài)為YES即可。
5、接下來(lái)就可以在主庫(kù)中進(jìn)行增刪改了,在從庫(kù)中查看效果,從庫(kù)最好單獨(dú)創(chuàng)建一個(gè)擁有查詢的用戶進(jìn)行查詢。
三、附加信息
1、查看server_id 命令:show variables like 'server_id';
2、從庫(kù)與主庫(kù)可以多次進(jìn)行關(guān)聯(lián),執(zhí)行stop slave;后進(jìn)行關(guān)聯(lián)
change master to master_host='127.0.0.1',master_port=3306,master_user='sync',master_password='sync',
master_log_file=' mysql-bin.000004',master_log_pos= 1924;
注意修改
master_log_file
和
master_log_pos
以及其他配置信息
最后在執(zhí)行start salve;即可。