MySQL8多實例安裝與mycat連接,最詳細版本。


【版權所有,轉載請注明出處!違者必究!】

最近在搞mycat去實現主從庫讀寫分離,所以博主就在自己的windows機器上進行了環境的搭建,在搭建MySQL多實例的時候還算順利,就是mysql8和mycat連接的時候,真真正正的體會到了什么叫做坑啊,因為現在百度上面搜索出來的基本上是老版本之間的連接,所以相關資料很少,於是我才有想記錄下來這個比較新的版本之期間的連接。

下面介紹一下演員:

1.mysql-8.0.20-winx64.zip(傳送門到windows版本下載)

2.Mycat-server-1.6-RELEASE-20161028204710-win.tar.gz(傳送門到windows版本下載

3.windows 10環境

一、mysql8多實例安裝步驟:

1.將mysql三個壓縮包分別解壓至三個文件夾,並命名如下圖所示:

 

 2.點擊進入mysql1文件夾,在目錄下新建my.ini文件,文件內容如下:

 

[client]
default-character-set=utf8
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
#skip-name-resolve
#skip-grant-tables
default-authentication-plugin=mysql_native_password
lower_case_table_names = 1
character_set_server = utf8
#設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=D:\mysql\mysql1\
# 設置mysql數據庫的數據的存放目錄
datadir=D:\mysql\mysql1\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character-set-server = utf8mb4
performance_schema_max_table_instances = 600
table_definition_cache = 400
table_open_cache = 256

3.用管理員身份打開命令窗口,這點很重要,一定是管理員身份,不會的自行百度。

 

 4.切換目錄至mysql1的bin目錄下

 

 5.執行初始化安裝命令

.\mysqld --defaults-file=D:\mysql\mysql1\my.ini --initialize --console

注意這個時候,安裝成功后,會隨機分配mysql  root用戶的登錄密碼,一定要記錄下來,后面登陸修改密碼的時候會使用到。

6.執行服務安裝目錄

.\mysqld install MySQL1 --defaults-file="D:\mysql\mysql1\my.ini      

7.啟動服務

net start MySQL1

8.登陸mysql

.\mysql -u root -p --protocol=tcp --host=localhost --port=3306

提示輸入步驟5的密碼,直接拷貝即可。

9.修改密碼並刷權限

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

flush privileges;

至此,第一個mysql實例服務已經安裝完成,其與服務參考上述步驟即可。下圖為安裝后的效果。

 

 

 二、mycat安裝與連接

1.解壓mycat壓縮包到mycat文件下。

2.配置環境變量

 

Path中添加

 

 

 這里mycat有幾個重要的配置文件,因為網上有很多這種文件的講解,所以我不做過多闡述,因為我的初衷是實踐部分

首先,我們要配置mycat conf目錄下的server.xml,每種配置文件修改之前記得備份一下原始文件

 

 

 看到這個截圖,你肯定慌了,怎么復制粘貼,別慌,下面就是了。

<system>
  <property name="defaultSqlParser">druidparser</property>
  <property name="useHandshakeV10">1</property>
  <property name="mutiNodeLimitType">1</property>
  <property name="charset">utf8</property>
  <property name="serverPort">8066</property>
  <property name="managerPort">9066</property>
</system>

<user name="root">
  <property name="usingDecrypt">1</property>
  <property name="password">GO0bnFVWrAuFgr1JMuMZkvfDNyTpoiGU7n/Wlsa151CirHQnANVk3NzE3FErx8v6pAcO0ctX3xFecmSr+976QA==</property>
  <property name="schemas">tjyj</property>
</user>

 因為我是使用的mycat密碼密文加密形式,你也可以使用不加密的方式,只需修改一下user標簽里面的內容為:

  <property name="password">123456</property>
  <property name="schemas">tjyj</property>

 這些標簽的意思我不講解了,你就反正是粘貼復制,等你想知道的時候,去看看其他文章就行了。

然后是修改schema.xml文件,下面的這些步驟才是精華部分,因為現在網上大多是基於老版本構建的,所以請注意咯。

 

 注意:mysql8連接mycat的時候,因為密碼方式的問題只能采用jdbc的方式去連接mycat。

具體的配置,你拷貝下面這段話就行了

 

<!-- 設置表的存儲方式.schema name="TESTDB" 與 server.xml中的 TESTDB 設置一致 -->
<schema name="tjyj" checkSQLschema="true" sqlMaxLimit="100">
  <table name="t_user" dataNode="node_db01" />
</schema>
<!-- 設置dataNode 對應的數據庫,及 mycat 連接的地址dataHost -->
<dataNode name="node_db01" dataHost="locahost01" database="db1" />

<!-- mycat 邏輯主機dataHost對應的物理主機.其中也設置對應的mysql登陸信息 -->
<dataHost name="locahost01" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="jdbc">
  <heartbeat>select user();</heartbeat>
  <writeHost host="MySQL1" url="jdbc:mysql://127.0.0.1:3306?useSSL=false&amp;serverTimezone=UTC" user="root" password="123456"/>

  <!--這里新建你的從數據庫-->
</dataHost>

這里有一個重要的步驟就是一定要下載mysql8的jdbc驅動放到mycat/lib目錄下,必須使用8.0以上jar的版本 ,我這里使用的是mysql-connector-java-8.0.16.jar

算了,csdn上面是收費的,我就放個網盤地址吧:

 

鏈接:https://pan.baidu.com/s/1gKGj3DgD5JxDl2njp5IOhA
提取碼:xetb

 

哦對了,有必要講一下基於這個配置的數據庫的建立:

在3306端口的數據庫新建數據庫名字 db1

然后新建表t_user,表中就id和name兩個字段,自己建一下就行了,

 

 還有一個地方,如果你的數據庫不能基於IP訪問,請百度一下mysql打開遠程登錄。

然后點擊 mycat\bin目錄下的startup_nowrap.bat文件。

運行效果如下圖:

 

 

 

 

然后測試一下mycat的連接

 

 

 

 

 

 

 

 然后,在mycat虛擬庫中執行sql

insert into t_user values(1,'abc');

看下物理庫和虛擬庫是否已經插入數據:

 

 物理庫:

 

 

 好了,至此就結束吧,如果你還不成功的話,就加我Q吧,632132852


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM