日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql集群搭建教程-mysql+windows篇

發布時間:2024/1/23 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql集群搭建教程-mysql+windows篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

張哥視頻課:https://edu.csdn.net/course/play/7912

搭建MySQL集群,首先看了一些關于集群的資料,然后根據步驟一步步的整,遇到了一些問題,在這里把我遇到的問題以及解決方法分享出來。

【是什么】

? ? ? ? 集群(cluster)技術是一種較新的技術,通過集群技術,可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面的相對較高的收益,其任務調度則是集群系統中的核心技術。

? ? ? ? mysql集群技術在分布式系統中為MySQL數據提供了冗余特性,增強了安全性,使得單個MySQL服務器故障不會對系統產生巨大的負面效應,系統的穩定性得到保障。



一個mysql集群包含三個節點:管理節點,數據節點和sql節點。啟動順序為:管理節點,數據節點,sql節點。管理節點只能一個,數據節點和sql節點可以根據需要設置個數。

管理節點:(也可以稱管理服務器)主要負責管理數據節點和SQL節點,還有集群配置文件和集群日志文件。它監控其他節點的工作狀態,能夠啟動、關閉或重啟某個節點。其他節點從管理節點檢索配置數據,當數據節點有新事件時就把事件信息發送給管理節點并寫入集群日志。

數據節點:負責存儲數據

sql節點:通過它進行sql操作。


【為什么】

為什么要使用集群還要通過它的優點來看,集群用較低的成本,在性能,靈活可用方面上有很大的改進


【優點】

高可伸縮性:服務器集群具有很強的可伸縮性。 隨著需求和負荷的增長,可以向集群系統添加更多的服務器。在這樣的配置中,可以有多臺服務器執行相同的應用和數據庫操作。


高可用性:在不需要操作者干預的情況下,防止系統發生故障或從故障中自動恢復的能力。通過把故障服務器上的應用程序轉移到備份服務器上運行,集群系統能夠把正常運行時間提高到大于99.9%,大大減少服務器和應用程序的停機時間。


高可管理性:系統管理員可以從遠程管理一個、甚至一組集群,就好象在單機系統中一樣。


【缺點】

? ? ? ? 我們知道集群中的應用只在一臺服務器上運行,如果這個應用出現故障,其它的某臺服務器會重新啟動這個應用,接管位于共享磁盤柜上的數據區,進而使應用重新正常運轉。我們知道整個應用的接管過程大體需要三個步驟:偵測并確認故障、后備服務器重新啟動該應用、接管共享的數據區。因此在切換的過程中需要花費一定的時間,原則上根據應用的大小不同切換的時間也會不同,越大的應用切換的時間越長。

【總結】

? ? ? ? 這是mysql集群的首篇博客,主要介紹集群的基礎知識,集群的由來,為什么使用,以及集群的優缺點,下篇博客講解mysql集群在windows環境下的搭建過程以及在搭建過程中遇到的問題以及解決方案。

下面將會把成果分享一下,手把手教你在三分鐘內搭建mysql集群。

? ?·準備工作——前期工作

? ?·搭建之路——三分鐘搞定

? ?·測試集群——看成果

【準備工作】

1、mysql-cluster-gpl-7.4.9-winx64

下載方式:

http://dev.mysql.com/downloads/cluster/

2、兩臺電腦

一臺配置管理節點,一個數據節點和一個sql節點,一臺配置一個數據節點和一個sql節點。

管理節點:192.168.22.238

數據節點A:192.168.22.238

數據節點B:192.168.22.240

SQL節點A:192.168.22.238

SQL節點B:192.168.22.240

【搭建之路】

一、配置mysql集群

1、將下載的mysql集群壓縮包解壓到管理節點192.168.22.238的C:\mysql目錄下:



2、配置管理節點:

在配置管理節點(192.168.22.238)的計算機上的C:\Mysql\Bin目錄下建立cluster-logs和config兩個文件夾。cluster-logs用來存儲日志文件,在config文件夾中建立my.ini和config.ini兩個配置文件:

my.ini

[plain] view plaincopy
  • [mysql_cluster]??
  • #?Options?for?management?node?process??
  • config-file=C:/mysql/bin/config/config.ini??

  • config.ini

    [plain] view plaincopy
  • [ndbd?default]???
  • #?Options?affecting?ndbd?processes?on?all?data?nodes:???
  • NoOfReplicas=2??????????????????????#?Number?of?replicas???
  • DataDir=C:/mysql/bin/cluster-data???#?Directory?for?each?data?node's?data?files???
  • ????????????????????????????????????#?Forward?slashes?used?in?directory?path,???
  • ????????????????????????????????????#?rather?than?backslashes.?This?is?correct;???
  • ????????????????????????????????????#?see?Important?note?in?text???
  • ??
  • DataMemory=80M??????????????????????#?Memory?allocated?to?data?storage???
  • IndexMemory=18M?????????????????????#?Memory?allocated?to?index?storage???
  • ????????????????????????????????????#?For?DataMemory?and?IndexMemory,?we?have?used?the???
  • ????????????????????????????????????#?default?values.?Since?the?"world"?database?takes?up???
  • ????????????????????????????????????#?only?about?500KB,?this?should?be?more?than?enough?for???
  • ????????????????????????????????????#?this?example?Cluster?setup.??
  • ??
  • [ndb_mgmd]???
  • #?Management?process?options:???
  • HostName=192.168.22.238???????????#?Hostname?or?IP?address?of?management?node???
  • DataDir=C:/mysql/bin/cluster-logs???#?Directory?for?management?node?log?files??
  • ??
  • [ndbd]???
  • #?Options?for?data?node?"A":???????
  • HostName=192.168.22.238?????????????#?Hostname?or?IP?address??
  • ??
  • ??
  • [ndbd]???
  • #?Options?for?data?node?"B":??
  • HostName=192.168.22.240????????????#?Hostname?or?IP?address??
  • ??
  • ??
  • ??
  • ??
  • [mysqld]???
  • #?SQL?node?A?options:??
  • HostName=192.168.22.238??????????????#?Hostname?or?IP?address??
  • ??
  • [mysqld]???
  • #?SQL?node?B?options:??
  • HostName=192.168.22.240???????????#?Hostname?or?IP?address??


  • 3、配置數據節點:

    ? ? ? ? 在配置數據節點(192.168.25.48、192.168.25.49)的計算機上的C:\Mysql\Bin目錄下建立cluster-data文件夾,用來存放數據:SQL節點不用任何配置,至此,整個MySQL集群就搭建完成了。

    將管理節點(192.168.22.238)電腦C:\mysql文件拷到192.168.22.240電腦的C盤

    二、啟動mysql集群

    啟動順序:管理節點→數據節點→sql節點

    1、啟動管理節點

    在cmd中運行命令:

    ?c:\mysql\bin\ndb_mgmd.exe --configdir=c:\mysql\bin\config --config-file=c:\mysql\bin\config\config.ini --ndb-nodeid=1 --reload –initial



    2、啟動每個數據節點:

    在cmd中運行如下命令:

    c:\mysql\bin\ndbd.exe --ndb-connectstring=192.168.22.238


    3、啟動每個sql節點:

    在cmd中運行如下命令:

    c:\mysql\bin\mysqld.exe --ndbcluster --ndb-connectstring=192.168.22.238 --console




    4、查看每個節點的狀態

    在cmd命令中運行:c:\mysql\bin\ndb_mgm,再執行“show”命令,可以查看到每個節點的連接狀態:



    這就表明每個節點均連接正確。

    【測試mysql集群】

    1、在sql節點A建立數據庫并插入數據:

    在sql節點A的計算機上(192.168.22.238)的cmd中運行C:\mysql\bin\mysql.exe -u root -p命令登錄mysql,接下來需要輸入密碼時,密碼默認為空(直接回車)。

    ·創建名為“chan”的數據庫:

    create database chan;

    ·創建名為“T_chan”的表:

    use chan;
    create table T_chan(Name varchar(23),Age int) engine=ndbcluster;

    注意建表語句后面一定要加上 engine=ndbcluster,為什么要加上,在下一篇博客中會介紹。

    ·插入數據:

    insert into T_chan values('chan',23);

    ·查詢數據:

    select * from?T_chan;



    2、在sql節點B查到數據

    在sql節點B的計算機上(192.168.22.240)的cmd中運行C:\mysql\bin\mysql.exe -u root -p命令登錄mysql。


    執行 show databases; 命令可以查看到在sql節點A新建的數據庫;?
    執行

    use chan;?
    select * from T_chan;?
    可以查詢到在sql節點A插入的數據。


    到這里mysql集群搭建就已經完成了。在搭建過程中也遇到了一些問題,在接下來的博客中,將會將會把我遇到的問題分享給大家。

    【總結】

    ? ? ? ? mysql集群我們現在做到的是加入一個數據節點宕機后,不會影響整個集群的運行,數據也不會丟失,保證了數據的完整性。第一次搭建的時候遇到了一些困難,不過這些都是小事啦??赐晟厦娴牟襟E是不是覺得mysql搭建很簡單,熟練以后在搭建的時候會遇到什么問題,以及如何解決,輕輕松松的就搞定了。

    下面介紹在搭建mysql集群的時候我遇到了一些問題。


    1、mysql集群安裝不成功

    遇到的問題:

    ? ? ? ? 之前做網上商城的項目的時候安裝了mysql,這次搭建mysql集群的時候按照百度經驗里的教程卸載了,http://jingyan.baidu.com/article/f96699bbaa8fc1894f3c1b5a.html。但是在安裝mysql集群的時候還是沒有安裝成功。

    ? ? ? ?我之前用的mysql和集群版本的mysql是兩個不同的版本,用之前的版本是不可能搭建成功mysql集群的。

    MySQL Community Server 社區版本,開源免費,但不提供官方技術支持
    MySQL Cluster 集群版,開源免費。可將幾個MySQL Server封裝成一個Server

    解決方案:

    打開服務(win+ R,輸入services.msc),查看mysql的可執行文件的路徑。查看是否是C:\mysql\**(我的mysql集群安裝在C:\mysql),如果不是,

    1、執行刪除mysql服務的命令:sc delete mysql

    2、安裝mysql:進入C:\mysql\bin目錄下,使用mysqld –install安裝MySQL服務

    3、啟動mysql服務:使用net start mysql命令啟動MySQL服務


    這樣mysql就能安裝成功了!

    2、The system tablespace must be writable!


    解決方案:


    1、打開任務管理器終止mysqld進程;
    2、打開mysql安裝目錄的data文件夾,刪除以下2個文件:
    ib_logfile0和ib_logfile1
    3、重新啟動mysql


    3、mysql服務無法啟動,發生系統錯誤:1067,進程意外終止

    運行:mysqlbin mysqladmin -u root shutdown

    然后按照第一個解決方案就可以解決。


    4、mysql集群沒有搭建完成,出現的問題



    解決方案:

    按照博客:http://blog.csdn.net/chenxiaochan/article/details/50856072,重新搭建就好。


    總結:

    ? ? ? ? 在搭建mysql集群的時候遇到的這些問題,都是因為沒有對mysql集群了解不夠,通過這次的搭建,在搭建過程過程中遇到的問題,讓我對mysql集群有了簡單的了解,由最初的每走一步都困難重重,到現在的簡簡單單,這些錯誤都是小問題,這些只是在搭建上遇到的問題,還有在應用的時候遇到的問題,在接下來的博客中都會寫到,期待吧。


    總結

    以上是生活随笔為你收集整理的mysql集群搭建教程-mysql+windows篇的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。