mycat理解

1、为什么叫mycat?

  其实mycat在最早的初期版本只支持mysql一种数据库,换句话说,

mycat就是mysql的增强版,在mysql中只是数据库,并没有读写分离和

分库分表,这些操作全部是由mycat进行实现。

注意:主从复制(数据同步)功能mycat没有,必须要使用mysql所提供的。

2、什么是mycat?

  2.1 mycat是完全开源的,并且面向大型企业的大数据库集群

  2.2 支持事务、ACID、可以替代mysql的嘉庆版数据库,目前已经支持了

    很多数据库(关系型和非关系型数据库都包括)

3、什么是HDFS?

  H:Hadoop

  D:Distributed

  F:File

  S:System

  Hadoop(大数据)分布式存储系统;大数据:数据量非常大,且以文件形式保存

   HDFS只做数据的存储;

  mycat:

  H:High(Big Data)

  D:Distributed

  D:Data

  S;System

4、mycat的两大核心

  4.1 分库分表

    将同一个系统(项目)的同一张表拆分到不同服务器进行存放

  4.2 读写分离

    将同一个系统(项目)的读操作和写操作分别在不同服务器上完成

 5、Linux配置mysql

  5.1 从官网下载mysql5.tar.gz

  5.2 使用xftp把mysql的压缩包上传至服务器上(/home/apps/下)

  5.3 解压mysql压缩包

    tar -zxvf xxxx

  5.4 把mysqlxxx改名为mysql

    mv mysqlxxxx mysql

  5.5 把mysql目录中创建data目录(存放日志的目录)

    mkdir data

  5.6 创建mysql的用户群组

    groupadd mysql(群组的名字)

  5.7 创建mysql群组下的用户

    useradd -r -s /sbin/nologin -g mysql(群组的名字) mysql(用户的名字) -d /home/apps/mysql

  5.8 为创建mysql新用户进行授权

    chown -R mysql.mysql /home/apps/mysql

  5.9 初始化mysql数据库

    !!!注意: 在初始化mysql数据库的时候回出现一个默认的登录密码,这个密码我们

    需要记录下来,因为接下来会用,直到我们后面修改密码后,这个密码才不再需要

    在mysql的bin目录中

    !!!注意:在bin目录中有很多启动命令,一定要使用mysqld,不要用成了mysql了

    ./mysqld --initialize --user=mysql --basedir=/home/apps/mysql --datadir=/home/apps/mysql/data

    获取的初始密码是显示出来的信息的最后一串字符串

  5.10 修改my.cnf文件

    vim /etc/my.cnf

    对该文件的配置如下:  

      [mysqld]
      basedir=/home/apps/mysql
      datadir=/home/apps/mysql/data
      socket=/tmp/mysql.sock
      user=mysql
      port=3306
      character_set_server=utf8
      # Disabling symbolic-links is recommended to prevent assorted security risks
      symbolic-links=0

      [mysqld_safe]
      log-error=/home/apps/mysql/data/error.log
      pid-file=/home/apps/mysql/data/mysqld.pid
      tmpdir=/tmp

  5.11 把mysql添加到系统服务器中

    在mysql的目录中:

    cp support -files/mysql.server /etc/init.d/mysqld

      mysqld文件其实并不存在(也就是说在init.d目录下并不存在mysqld)

      是把mysql.server文件复制过去后修改了名字,所以mysqld就是mysql.server文件

  5.12 编辑mysqld文件

    vim /etc/init.d/mysqld

      basedir=/home/apps/mysql

      datadir=/home/apps/mysql/data

      mysqld_pid_file_path=/home/apps/mysql/data/mysqld_pid

  5.13 启动mysql服务

    service mysqld start

      看到success说明启动成功!

  5.14 登录mysql(这里需要用到第九步的密码了)

    在mysql的bin目录下

      ./mysql -u root -p

      然后将刚刚的面粘贴上去

  5.15 修改root用户的密码

    所有的命令行/sql语句都必须要带分号“;”,而且所有的字符串都必须要使用单引号,不能使用双引号

      set password for 'root'@localhost=password('123456');

  5.16 配置mysql的远程访问

    查看所有的数据库:show databases;

    使用mysql数据库:use mysql;

    查看mysql数据库下的所有表名:show tables;

    update user set host='%' where user='root' limit 1;

  5.17 提交和刷新

    flush privileges;

    

  

  

乾坤未定,你我皆是黑马
原文地址:https://www.cnblogs.com/liuqijia/p/11560307.html