国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Linux下Mycat安裝配置和使用

mysql安裝

  1. 下載mysql【百度云
  2. tar -zxvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz 解壓
  3. 把mysql文件夾移動(dòng)到 /usr/local/ 下mv mysql-5.6.32-linux-glibc2.5-x86_64 /usr/local/mysql
  4. 創(chuàng)建MySQL用戶和組

    groupadd mysqladduser -r -g mysql mysqlchown -R mysql.mysql /usr/local/mysql  //修改mysql目錄所屬mysql用戶
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3
  5. 安裝 /usr/local/mysql/scripts/mysql_install_db
  6. 修改配置文件my.cnf,必須要修改才能使用mycat
    最后一行添加

    lower_case_table_names = 1
  7. 設(shè)置mysql服務(wù)

    cp -f /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
    • 1
    • 1
  8. 啟動(dòng)mysql service mysqld start
  9. 把mysql命令加入環(huán)境變量
    修改/etc/profile文件,最后行添加export PATH=$PATH:/usr/local/mysql/bin
    然后執(zhí)行 source /etc/profile 使配置立即生效

  10. 登陸mysql如果提示錯(cuò)誤 Can't connect to local MySQL server through socket '/tmp/mysql.sock'
    執(zhí)行命令 ln /var/lib/mysql/mysql.sock /tmp/mysql.sock 后再登陸

  11. root用戶初始密碼為空,修改密碼使用mysqladmin命令

    mysqladmin -uroot -p password
    • 1
    • 1
  12. 登陸客戶端 mysql -uroot -p

  13. 創(chuàng)建測(cè)試數(shù)據(jù)庫

    CREATE database db1;CREATE database db2;CREATE database db3;
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3

    至此mysql已經(jīng)安裝完成了

安裝java

linux下安裝java

mycat安裝

  1. 下載mycat【百度云
  2. 解壓 tar -zxvf Mycat-server-1.6-RELEASE-20161012170031-linux.tar.gz
  3. 把mycat文件夾移動(dòng)到 /usr/local/ 下mv Mycat-server-1.6-RELEASE-20161012170031-linux /usr/local/mycat
  4. 新建用戶和組

    groupadd mycatadduser -r -g mycat mycatchown -R mycat.mycat /usr/local/mycat  //修改mycat目錄所屬mycat用戶
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3
  5. 修改配置文件 /usr/local/mycat/conf/schema.xml
    這里配置mysql的地址、用戶名和密碼

    <writeHost host="hostM1" url="localhost:3306" user="root" password="root">    <readHost host="hostS1" url="localhost:3306" user="root" password="root" /></writeHost>
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3

    server.xml
    這里配置mycat的用戶名密碼

    <user name="root">   <property name="password">digdeep</property>   <property name="schemas">TESTDB</property></user>
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4
  6. 啟動(dòng)mycat /usr/local/mycat/bin/mycat start

  7. 連接mycat mysql -uroot -pdigdeep -h127.0.0.1 -P8066 -DTESTDB
    注意這里 -h 后面必須是ip,使用localhost會(huì)出錯(cuò)

  8. 創(chuàng)建測(cè)試數(shù)據(jù)

use TESTDB;create table company(id int not null primary key,name varchar(50),addr varchar(255));insert into company values(1,"facebook","usa");
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3
  1. 結(jié)果:查看mysql上的數(shù)據(jù)庫db1,db2,db3上都創(chuàng)建了表company

mysql主從服務(wù)器配置

  1. 修改主mysql配置文件my.cnf

    [mysqld]log_bin = mysql-bin  #記錄操作日志binlog_ignore_db =  mysql  #不同步mysql系統(tǒng)數(shù)據(jù)庫server_id = 1
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4
  2. 啟動(dòng)主mysql,在主mysql創(chuàng)建一個(gè)用戶讓從mysql連接,執(zhí)行sql
    主mysql:node1
    從mysql:node2

    grant replication slave on *.* to 'user'@'node2' identified by 'password'
    • 1
    • 1
  3. 修改從mysql配置文件my.cnf

    log_bin = mysql-bin  #記錄操作日志replicate_ignore_db = mysql #不同步mysql系統(tǒng)數(shù)據(jù)庫slave_skip_errors = all server_id = 2
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4
  4. 主mysql執(zhí)行sql show master status;\G

  5. 從mysql連接主mysql
    根據(jù)第2步配創(chuàng)建的user,password 和 第4步獲取的file,position 連接主mysql

    change master to master_host='node1',master_user='user',master_password='password',master_log_file='mysql-bin.000004',master_log_pos=120;//如果是mysql5.6即以上可以不需要master_log_file和master_log_pos,mysql會(huì)自動(dòng)識(shí)別change master to master_host='node1',master_user='user',master_password='password';
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3
  6. 開啟從mysql,從mysql中執(zhí)行 start slave;
  7. 查看從mysql狀態(tài),從mysql執(zhí)行 show slave status\G;


    紅色下劃線部分為yes則開啟成功

  8. 測(cè)試成果
    首先在主從mysql上都新建數(shù)據(jù)庫testdb
    主mysql:use testdb;create table user(id int not null primary key,name varchar(50));
    從mysql上也會(huì)產(chǎn)生user表,主從mysql配置成功!

mycat讀寫分離配置

  1. 注意事項(xiàng)

    • 遠(yuǎn)程 mysql 必須允許 mycat主機(jī) 遠(yuǎn)程連接,修改mysql.user表中的用戶數(shù)據(jù),執(zhí)行sql

      update mysql.user set host = '%' where user = 'root'
      • 1
      • 1
  2. schema.xml配置

    <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"writeType="0" dbType="mysql" dbDriver="native" switchType="2"  slaveThreshold="100">    <heartbeat>show slave status</heartbeat>    <writeHost host="hostM1" url="node1:3306" user="root" password="root">        <readHost host="hostS1" url="node2:3306" user="root" password="root" />    </writeHost></dataHost>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    dbDriver 屬性
    指定連接后端數(shù)據(jù)庫使用的 Driver,目前可選的值有 native 和 JDBC。使用 native 的話,因?yàn)檫@個(gè)值執(zhí)行的是二進(jìn)制的 mysql 協(xié)議,所以可以使用 mysql 和 maridb。其他類型的數(shù)據(jù)庫則需要使用 JDBC 驅(qū)動(dòng)來支持。
    從 1.6 版本開始支持 postgresql 的 native 原始協(xié)議。
    如果使用 JDBC 的話需要將符合 JDBC 4 標(biāo)準(zhǔn)的驅(qū)動(dòng) JAR 包放到 MYCAT\lib 目錄下,并檢查驅(qū)動(dòng) JAR 包中包括如下目錄結(jié)構(gòu)的文件:META-INF\services\Java.sql.Driver。在這個(gè)文件內(nèi)寫上具體的 Driver 類名,例如:com.mysql.jdbc.Driver。

    balance 屬性
    負(fù)載均衡類型,目前的取值有 3 種:

    1. balance=”0”, 不開啟讀寫分離機(jī)制,所有讀操作都發(fā)送到當(dāng)前可用的 writeHost 上。
    2. balance=”1”,全部的 readHost 與 stand by writeHost 參與 select 語句的負(fù)載均衡,簡單的說,當(dāng)雙主雙從模式(M1->S1,M2->S2,并且 M1 與 M2 互為主備),正常情況下,M2,S1,S2 都參與 select 語句的負(fù)載均衡。
    3. balance=”2”,所有讀操作都隨機(jī)的在 writeHost、readhost 上分發(fā)。
    4. balance=”3”,所有讀請(qǐng)求隨機(jī)的分發(fā)到 wiriterHost 對(duì)應(yīng)的 readhost 執(zhí)行,writerHost 不負(fù)擔(dān)讀壓
      力,注意 balance=3 只在 1.4 及其以后版本有,1.3 沒有。

    writeType 屬性
    負(fù)載均衡類型,目前的取值有 3 種:

    1. writeType=”0”, 所有寫操作發(fā)送到配置的第一個(gè) writeHost,第一個(gè)掛了切到還生存的第二個(gè)
      writeHost,重新啟動(dòng)后已切換后的為準(zhǔn),切換記錄在配置文件中:dnindex.properties .
    2. writeType=”1”,所有寫操作都隨機(jī)的發(fā)送到配置的 writeHost,1.5 以后廢棄不推薦。

    switchType 屬性

    • -1 表示不自動(dòng)切換
    • 1 默認(rèn)值,自動(dòng)切換
    • 2 基于 MySQL 主從同步的狀態(tài)決定是否切換
      心跳語句為 show slave status
  3. 根據(jù)主從延時(shí)切換技術(shù)
    Mycat1.4開始支持 MySQL主從復(fù)制狀態(tài)綁定的讀寫分離機(jī)制,讓讀更加安全可靠,配置如下: MyCAT心跳檢查語句配置為 show slave status ,dataHost 上定義兩個(gè)新屬性: switchType=”2” 與slaveThreshold=”100”,此時(shí)意味著開啟MySQL主從復(fù)制狀態(tài)綁定的讀寫分離與切換機(jī)制,Mycat心跳機(jī)制通過檢測(cè) show slave status 中的 “Seconds_Behind_Master”, “Slave_IO_Running”, “Slave_SQL_Running” 三個(gè)字段來確定當(dāng)前主從同步的狀態(tài)以及Seconds_Behind_Master 主從復(fù)制時(shí)延, 當(dāng)Seconds_Behind_Master>slaveThreshold 時(shí),讀寫分離篩選器會(huì)過濾掉此Slave機(jī)器,防止讀到很久之前的舊數(shù)據(jù),而當(dāng)主節(jié)點(diǎn)宕機(jī)后,切換邏輯會(huì)檢查Slave上的Seconds_Behind_Master是否為0,為0時(shí)則表示主從同步,可以安全切換,否則不會(huì)切換。

  4. 重啟mycat,連接創(chuàng)建測(cè)試數(shù)據(jù)

    use TESTDB;create table company(id int not null primary key,name varchar(50),addr varchar(255));insert into company values(1,"facebook","usa");
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3
  5. 結(jié)果:查看主從mysql上的db1,db2,db3上都創(chuàng)建了表company

  6. 如果你的mysql的復(fù)制模式為STATEMENT(可以在my.cnf中配置binlog_format="STATEMENT"),還可以這樣測(cè)試。
    mycat執(zhí)行sql :

    insert into company values(1,@@hostname,"usa");`select * from company ;
    • 1
    • 2
    • 1
    • 2


    可以看出,讀取數(shù)據(jù)是從從mysql讀出的

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Mycat
Linux如何使用 MyCat 實(shí)現(xiàn) MySQL 主從讀寫分離
.NET Core 微服務(wù)-Mycat
Linux使用Mycat進(jìn)行數(shù)據(jù)庫的讀寫分離實(shí)例講解
MyCAT實(shí)現(xiàn)MySQL的讀寫分離
構(gòu)建讀寫分離的數(shù)據(jù)庫集群
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服