linux下使用yum安裝mysql及mycat


linux下使用yum安裝mysql

 

(以下操作均可在任何目錄下輸入命令)

一.首先先刪除原來虛擬機內的MySQL

 

1、首先檢測一下,mysql之前有沒有被安裝命令:rpm -qa | grep mysql

 

2、刪除mysql的命令: rpm -e --nodeps `rpm -qa | grep mysql`

二.yum安裝mysql
1. 安裝mysql服務端:
  yum install mysql-server
  yum install mysql-devel
2. 安裝mysql客戶端:
  yum install mysql
3. 啟動mysql服務:
  service mysqld start或者/etc/init.d/mysqld start
停止:
  service mysqld stop
重啟:
  service mysqld restart
4. 創建root管理員:
  mysqladmin -u root password 123456
5.登陸
  mysql -uroot -p123456

 

1. Mycat的下載及安裝

1.1. 下載mycat 官方網站: http://www.mycat.org.cn/ github地址 https://github.com/MyCATApache

1.2. Mycat安裝

  第一步:把MyCat的壓縮包上傳到linux服務器

  第二步:解壓縮,得到mycat目錄

  第三步:進入mycat/bin,啟動MyCat

  控制台執行sudo ./bin/mycat console,

  輸出如下,表示正常啟動

 

  若已經安裝過jdk的情況下,出現

      Unable to start JVM: No such file or directory,

  可能是JAVA環境變量不在root用戶下導致的,嘗試下如下方法,若還是不成功,應該不會的。

   cd /opt

  sudo chmod -R 777 mycat

  ./bin/mycat console

  啟動命令:./mycat start

  停止命令:./mycat stop

  重啟命令:./mycat restart

  如果出現以下錯誤:

       jvm 5 | Error occurred during initialization of VM

       jvm 5 | Could not reserve enough space for object heap

  修改conf下的wrapper.conf 文件:

   在文件中加入: wrapper.java.additional.10=-Xmx1G

          wrapper.java.additional.11=-Xms512M

             並注釋掉:wrapper.java.initmemory=2048和wrapper.java.maxmemory=2048

  如果出現以下錯誤:

           wrapper | JVM exited while loading the application.

          jvm 4 | wrapper | Unable to start JVM: No such file or directory(2)

       修改conf下的wrapper.conf 文件中的 wrapper.java.command=/opt/jdk1.7/bin/java( jdk路徑)

  注意:可以使用mysql的客戶端直接連接mycat服務。默認服務端口為8066

Mycat環境配置

1.    Mycat分片
  1.1.    需求
  把商品表分片存儲到三個數據節點上。
1.2.    安裝環境
  mysql節點1環境
  操作系統版本 : centos6.4
  數據庫版本 : mysql-5.6
  mycat版本 :1.4 release
  數據庫名 : db1、db3
  ip:192.168.25.134

mysql節點2環境
  操作系統版本 : centos6.4
  數據庫版本 : mysql-5.6
  mycat版本 :1.4 release
  數據庫名 : db2
  ip:192.168.25.166

MyCat安裝到節點1上(需要安裝jdk)

1.3.    配置schema.xml
1.3.1.    Schema.xml介紹
Schema.xml作為MyCat中重要的配置文件之一,管理着MyCat的邏輯庫、表、分片規則、DataNode以及DataSource。

弄懂這些配置,是正確使用MyCat的前提。這里就一層層對該文件進行解析。

schema 標簽用於定義MyCat實例中的邏輯庫
Table 標簽定義了MyCat中的邏輯表
dataNode 標簽定義了MyCat中的數據節點,也就是我們通常說所的數據分片。
dataHost標簽在mycat邏輯庫中也是作為最底層的標簽存在,直接定義了具體的數據庫實例、讀寫分離配置和心跳語句。

注意:若是LINUX版本的MYSQL,則需要設置為Mysql大小寫不敏感,否則可能會發生表找不到的問題。

在MySQL的配置文件中my.ini [mysqld] 中增加一行   lower_case_table_names = 1    

1.3.2.    Schema.xml配置

<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://org.opencloudb/">  

  <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100"> 

    <!-- auto sharding by id (long) -->  

   <table name="TB_ITEM" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" /> 

    <table name="TB_USER" primaryKey="ID" type="global" dataNode="dn1,dn2" />

    </schema>

      <dataNode name="dn1" dataHost="localhost1" database="db1" />

      <dataNode name="dn2" dataHost="localhost2" database="db2" /> 

    <dataNode name="dn3" dataHost="localhost1" database="db3" /> 

    <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"  

writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">  

<heartbeat>select user()</heartbeat> 

<!-- can have multi write hosts -->  

  <writeHost host="hostM1" url="192.168.25.134:3306" user="root"    password="root">  

    <!-- can have multi read hosts -->  

    </writeHost>  </dataHost> 

  <dataHost name="localhost2" maxCon="1000" minCon="10" balance="0"  

writeType="0" dbType="mysql"   dbDriver="native" switchType="1"  slaveThreshold="100">

     <heartbeat>select user()</heartbeat> 

      <!-- can have multi write hosts -->  

    <writeHost host="hostM1" url="192.168.25.166:3306" user="root"    password="root"> 

     <!-- can have multi read hosts -->  

    </writeHost> 

    </dataHost>

   </mycat:schema>   


1.4.    配置server.xml

1.4.1.    Server.xml介紹
server.xml幾乎保存了所有mycat需要的系統配置信息。最常用的是在此配置用戶名、密碼及權限。

1.4.2.    Server.xml配置

<user name="test">

     <property name="password">test</property>

     <property name="schemas">TESTDB</property>

     <property name="readOnly">true</property>

</user>   



1.5.    配置rule.xml
rule.xml里面就定義了我們對表進行拆分所涉及到的規則定義。我們可以靈活的對表使用不同的分片算法,或者對表使用相同的算法但具體的參數不同。這個文件里面主要有tableRule和function這兩個標簽。在具體使用過程中可以按照需求添加tableRule
和function。
此配置文件可以不用修改,使用默認即可。


免責聲明!

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



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