一、MySQL 主從庫安裝
成都創(chuàng)新互聯(lián)公司自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、成都做網(wǎng)站、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團隊及專業(yè)的網(wǎng)站設(shè)計師團隊。
1、進入 https://www.mysql.com 后點擊DOWNLOADS 進入下載頁面。
2、進入下載頁面后,選擇 MySQL Community(GPL)Downloads.
3、進入 MySQL Community(GPL) Downloads后選擇 MySQLCommunity Server.
4、選擇操作系統(tǒng)為Windows 此時最新的版本已經(jīng)為8.0.19 可直接點擊Download下載,為了保證穩(wěn)定性,本次環(huán)境安裝選擇5.7.29版本,點擊Looking for previous GA version?下載歷史版本。
5、注意選擇數(shù)據(jù)庫版本、操作系統(tǒng)、以及軟件位數(shù)選擇;
6、選擇正確后直接點擊下載即可。
7、下載完成的軟件直接解壓后放置在不包含中文路徑的文件夾下(自行新建my.ini文件)。
8、修改my.ini中數(shù)據(jù)如下(設(shè)置service-id 值以及 log-bin 值為后續(xù)主從搭建做準備), server-id表示唯一的標識某個數(shù)據(jù)庫實例,若未配置log-bin則在執(zhí)行show start master 后會出現(xiàn) Empty set (0.01 sec)。
[mysql]
# 設(shè)置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
server-id = 1
#啟用二進制日志
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ù)庫的數(shù)據(jù)的存放目錄
datadir=D:\MySQL Server 5.7.29\mysql-5.7.29-winx64\data
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
9、MySQL環(huán)境變量配置(計算機右鍵->屬性->高級系統(tǒng)設(shè)置->環(huán)境變量)PATH中加入
;D:\MySQL Server 5.7.29\mysql-5.7.29-winx64\bin;
10、進入MySQL存放路徑,在文件夾空白處,按住shift鍵后鼠標右鍵單擊,出現(xiàn)“在此處打開命令窗口”,后進入CMD窗口。
11、在相應(yīng)的CMD窗口中輸入:mysqld --install master --defaults-file=" D:\MySQL Server 5.7.29\mysql-5.7.29-winx64\my.ini" 進行安裝,出現(xiàn)Service successfully installed,說明服務(wù)安裝成功。注: 紅色字體的master為主庫mysql的服務(wù)名稱,路徑部分需根據(jù)各自情況自行進行修改。
也可能出現(xiàn)報錯缺少計算機丟失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ù)在當前CMD窗口執(zhí)行 net start master 啟動服務(wù)出現(xiàn)以下內(nèi)容表示服務(wù)啟動成功,至此主庫安裝完成,可以使用nactive連接對應(yīng)的數(shù)據(jù)庫,注用戶名:root 、密碼:空、 端口為my.ini中設(shè)置的端口。
13、連接主庫無誤后,接下來創(chuàng)建從庫。復制一份主庫文件,修改文件名為源文件夾名+從庫需要設(shè)置的端口號,注:此處可根據(jù)個人情況修改,以兩個數(shù)據(jù)庫源文件之間容易區(qū)分為準。
14、從庫文件復制成功后,進入D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307 修改my.ini為以下文件,標紅的需要注意,若service-id與主庫一致時,啟動主從關(guān)系時會報(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í)行安裝時會報錯,log-bin值也需設(shè)定否則會報錯( Got fatal error 1236 from master when reading data from binary log)。
[mysql]
# 設(shè)置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
server-id = 2
#啟用二進制日志
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ù)庫的數(shù)據(jù)的存放目錄
datadir=D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307\data
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
15、修改 D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307\auto.cnf中uuid值,由于是拷貝過來的如果不修改與主庫的值一致,搭建主從時會報錯 (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、參考安裝主庫步驟 9、10、11、12,安裝備庫服務(wù)并啟動從庫服務(wù)。
mysqld --install slave --defaults-file="D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307\my.ini"
net start slave
17、連接主庫成功后使用nactive 工具給主庫創(chuàng)建一個名稱為sync用于主從同步的用戶,服務(wù)器權(quán)限需要全勾選。
也可以使用命令行創(chuàng)建用戶示例語句如下:
create user sync;
grant replication slave on *.* to ' sync'@'127.0.0.1'identified by ' sync';
flush privileges;
二、主從關(guān)聯(lián)
1、在主庫命令列界面中執(zhí)行 show master status; 并記住File列以及Position列對應(yīng)的值,后續(xù)在從庫中關(guān)聯(lián)主庫時會使用。
2、打開從庫的命令列界面,執(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、在從庫中執(zhí)行命令 start slave; 開啟主從同步。
4、在從庫中執(zhí)行show slave status \G; 帶換行的或者 show slave status不帶換行的查看salve的狀態(tài)。Slave_IO_Running 、Slave_SQL_Running 狀態(tài)為YES即可。
5、接下來就可以在主庫中進行增刪改了,在從庫中查看效果,從庫最好單獨創(chuàng)建一個擁有查詢的用戶進行查詢。
三、附加信息
1、查看server_id 命令:show variables like 'server_id';
2、從庫與主庫可以多次進行關(guān)聯(lián),執(zhí)行stop slave;后進行關(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;即可。