您好,登錄后才能下訂單哦!
下文內容主要給大家帶來windows云服務器版搭建集群問題總結和分析,這里所講到的知識,與書籍略有不同,都是億速云專業技術人員在與用戶接觸過程中,總結出來的,具有一定的經驗分享價值,希望給廣大讀者帶來幫助。
服務器版本winsever2016 64位
mysql-cluster-gpl-7.6.7-winx64. zip
解壓mysql-cluster-gpl-7.6.7-winx64.zip,我是存儲放在了D盤,并且重命名了文件夾,我這里就改成直譯集群了,mysqlCluster。
注意:解壓后文件目錄下是不包含data,db文件夾和文件config.ini&my.ini的。
是我后來自己創建的。
先說配置文件:
config.ini 用于配置管理節點 數據節點 SQL節點,下面直接貼文本便于復制:
[ndbd default]
NoOfReplicas=2
MaxNoOfTables=1024
MaxNoOfUniqueHashIndexes=1024
MaxNoOfOrderedIndexes=1024
MaxNoOfAttributes=10000
[ndb_mgmd]
NodeId=1
HostName=192.168.101.31
DataDir=D:\mysqlCluster\data
[ndbd]
NodeId=21
HostName=192.168.101.31
DataDir=D:\mysqlCluster\data
[ndbd]
NodeId=22
HostName=192.168.101.30
DataDir=D:\mysqlCluster\data
[mysqld]
NodeId=11
HostName=192.168.101.31
[mysqld]
NodeId=12
HostName=192.168.101.30
my.ini Mysql配置文件
[mysqld]
character_set_server=utf8
basedir="D:\mysqlCluster"
datadir="D:\mysqlCluster\db"
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
ndbcluster
ndb-connectstring=192.168.101.31
explicit_defaults_for_timestamp=true
event_scheduler=on
[mysql_cluster]
ndb-connectstring=192.168.101.31
因為我設計的數據庫是存在定時執行事件的,所以特別寫了下面這一行
event_scheduler=on
簡單的介紹一下,我只有兩臺機器,分別為192.168.101.31和192.168.101.30
其中192.168.101.31既做管理節點又做數據節點。
首先處理192.168.101.31服務器
在其D:\mysqlCluster目錄下存儲config.ini和my.ini文件。
創建data和db文件夾
其次處理192.168.101.30服務器
在其D:\mysqlCluster目錄下存儲my.ini文件即可。
創建data和db文件夾
文件和目錄準備好之后就要開啟集群了。
順序是 管理節點→數據節點→SQL節點。
在192.168.101.31服務器用管理員身份打開cmd,跳轉到集群目錄,
Microsoft Windows [版本 10.0.14393]
(c) 2016 Microsoft Corporation。保留所有權利。
C:\Windows\system32>cd ..
C:\Windows>cd ..
C:\>D:
D:\>cd mysqlCluster\bin
執行
ndb_mgmd.exe --config-file="D:\mysqlCluster\config.ini" --configdir="D:\mysqlCluster"
啟動數據節點比較簡單,再打開一個cmd窗口,跳轉目錄
Microsoft Windows [版本 10.0.14393]
(c) 2016 Microsoft Corporation。保留所有權利。
C:\Windows\system32>cd ..
C:\Windows>cd ..
C:\>D:
D:\>cd mysqlCluster\bin
執行
ndbd.exe --initial
啟動SQL節點需要做的多一些,可能出錯的地方也較多。
依舊要跳轉到目錄D:\>cd mysqlCluster\bin,然后執行初始化
mysqld --initialize --datadir=D:\mysqlCluster\db
如果不指定datadir會報錯。
初始化Mysql數據庫之后,要注冊Mysql服務。
mysqld --install Mysql 這里我的服務名就叫Mysql了。
net start Mysql 啟動服務,Mysql 就是上一行注冊的名稱。
開啟SQL節點就簡單了,跳轉到D:\>cd mysqlCluster\bin目錄,執行mysqld。
接下來處理192.168.101.30服務器,因為其不是管理節點所以少點操作。
按照上述數據節點和SQL節點的啟動方式來就可以了。
**很多人可能是直接關閉服務器的放火墻,我是開放的3306和1186端口。
測試各個節點的情況如下:
******
mysql數據庫在5.7版本后初次使用時root賬號的密碼是隨機生成的,所以我們可能還需要做點事。
首先打開一個cmd窗口,執行mysqld --skip-grant-tables進入安全模式
再次打開一個cmd窗口,直接輸入mysql跳過權限驗證連接數據庫。
update mysql.user set authentication_string=password('root') where user='root';
flush privileges;
quit
關閉所有命令提示符窗口,使用命令(taskkill /f /im mysqld.exe;)結束進程或者在任務管理器里結束 mysqld.exe 進程。重啟 MySQL 服務,之后使用 root 賬號和新密碼。
比如說還出現了這個錯誤:
1045 -Access denied for user'root'@'192.168.101.30'(using password :yes)
這個原因是沒有開放訪問權限。
步驟如下:
1、D:/mysqlcluster/bin/>mysql -h localhost -u root -p
輸入密碼后登入mysql服務器
2、mysql>grant all privileges on *.* to 'root'@'%' with grant option;
任何主機訪問數據的權限
3、mysql>flush privileges;
修改生效
4、mysql>quit
退出mysql服務器
對于以上關于windows云服務器版搭建集群問題總結和分析,如果大家還有更多需要了解的可以持續關注我們億速云的行業推新,如需獲取專業解答,可在官網聯系售前售后的,希望該文章可給大家帶來一定的知識更新。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。