说明什么是Mycat一个彻底开源的,面向企业应用开发的大数据库集群支持事务、ACID、可以替代MySQL的加强版数据库一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQLServer结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品一个新颖的数据库中间件产品官网:http://www.mycat.org.cn/开源地址:https://github.com/MyCATApache/Mycat-Server相关版本配置说明软件版本MycatMycat-server-1.6.7.5MySQL5.7下载Mycat解压到任意目录配置文件说明进入Mycat的conf/目录下,主要注意这3个配置文件schema.xml:中定义逻辑库,表、分片节点等内容rule.xml:中定义分片规则;server.xml:中定义用户以及系统相关变量,如端口等配置schema.xml文件官方文件里注释太多,太杂,看着太费劲,可以先进行删减该配置说明:逻辑库名TESTDB,相当于一个数据库,逻辑表名table,相当于数据库里的一张表,这张表里的数据放在了dn1,dn2,dn3,dn4这个四个真实的数据库里。<?xmlversion="1.0"?><!DOCTYPEmycat:schemaSYSTEM"schema.dtd"><mycat:schemaxmlns:mycat="http://io.mycat/"><!--name逻辑数据名称取消sql限制,把sqlMaxLimit="-1"--><schemaname="TESTDB"checkSQLschema="false"sqlMaxLimit="100"><!--name:逻辑表名称dataNode:逻辑表数据存放的节点rule:逻辑表的分片规则规则对应rule.xml里面--><tablename="sbtest1"dataNode="dn1,dn2,dn3,dn4"rule="rule1"/><!--逻辑表可以配置多个--></schema><!--数据节点对应的数据库,这里都配置在一个机器上,可分布式配置--><dataNodename="dn1"dataHost="localhost"database="db1"/><dataNodename="dn2"dataHost="localhost"database="db2"/><dataNodename="dn3"dataHost="localhost"database="db3"/><dataNodename="dn4"dataHost="localhost"database="db4"/><!--数据的节点的链接信息,name需要对应上<dataNode/>标签里的dataHost--><dataHostname="localhost"maxCon="1000"minCon="10"balance="0"writeType="0"dbType="mysql"dbDriver="native"switchType="1"slaveThreshold="100"><!--心跳语句--><heartbeat>selectuser()</heartbeat><!--配置写入主机--><writeHosthost="hostM1"url="localhost:3306"user="root"password="123456"></writeHost></dataHost></mycat:schema>配置server.xml文件该文件可以不用配置配置rule.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmycat:ruleSYSTEM"rule.dtd"><mycat:rulexmlns:mycat="http://io.mycat/"><!--分片规则名称--><tableRulename="rule1"><rule><!--分片字段--><columns>id</columns><!--分片的方法--><algorithm>mod-long</algorithm></rule></tableRule><functionname="mod-long"class="io.mycat.route.function.PartitionByMod"><!--分片的节点数量--><propertyname="count">4</property></function></mycat:rule>MySQL创库创表创建真实库创建真实表启动Mycat进入Mycat注意在Linux下,如果进入MySQL需要端口,一定要加上host,不然指定的端口不会生效。mysql-uroot-h127.0.0.1-P8066-p插入数据在插入数据时,分片规则字段数据尽量不要太接近,不然看不出效果。
1、问题描述[ERROR]Terminalinitializationfailed;fallingbacktounsupported处理删除$HADOOP_HOME/share/hadoop/yarn/lib/jline-0.9.94.jar文件然后重新启动hive即可2、问题描述[root@masterconf]#schematool-dbTypemysql-initSchemaMetastoreconnectionURL:jdbc:mysql://192.168.176.65:3306/hiveMetastoreConnectionDriver:com.mysql.jdbc.DriverMetastoreconnectionUser:rootorg.apache.hadoop.hive.metastore.HiveMetaException:Failedtogetschemaversion.***schemaToolfailed***[root@masterconf]#cd..处理开启MySQL的远程访问,并重启MySQL
相关版本名称详情Hive1.2.2(下载地址)MySQL驱动connector-java-5.1.48(下载地址)MySQL安装教程地址解压Hive的tar包#进入src目录cd/usr/local/src/#创建hive目录mkdirhive#解压tar包到创建的hive目录tar-zxvfapache-hive-1.2.2-bin.tar.gz-Chive/配置环境变量#编辑环境变量vi~/.bash_profile#加入环境变量#HiveexportHIVE_HOME=/usr/local/src/hive/apache-hive-1.2.2-binexportPATH=$HIVE_HOME/bin:$PATH:#更新环境变量source~/.bash_profile修改Hive配置文件#进入conf[root@masterconf]#ll总用量188-rw-rw-r--.1rootroot11394月302015beeline-log4j.properties.template-rw-rw-r--.1rootroot1684316月192015hive-default.xml.template-rw-rw-r--.1rootroot23784月302015hive-env.sh.template-rw-rw-r--.1rootroot26624月302015hive-exec-log4j.properties.template-rw-rw-r--.1rootroot30504月302015hive-log4j.properties.template-rw-rw-r--.1rootroot15934月302015ivysettings.xml#复制hive-env.sh模板[root@masterconf]#cphive-env.sh.templatehive-env.sh#编辑hive-env.sh的内容[root@masterconf]#vihive-env.sh#加入HADOOP_HOME的路径#SetHADOOP_HOMEtopointtoaspecifichadoopinstalldirectoryHADOOP_HOME=/usr/local/src/hadoop/hadoop-2.9.2#修改了HIVE的配置,指定修改的配置的文件#HiveConfigurationDirectorycanbecontrolledby:exportHIVE_CONF_DIR=/usr/local/src/hive/apache-hive-1.2.2-bin/conf#保存退出,更新hive-env.sh文件[root@masterconf]#sourcehive-env.sh尝试进入Hive,在退出在进入之前需要删除一个文件删除$HADOOP_HOME/share/hadoop/yarn/lib/jline-0.9.94.jar文件[root@masterconf]#hiveLogginginitializedusingconfigurationinjar:file:/usr/local/src/hive/apache-hive-1.2.2-bin/lib/hive-common-1.2.2.jar!/hive-log4j.propertieshive>exit;[root@masterconf]#MySQL配置首先进入MySQL里,修改完成后,记得重启数据库1、开启MySQL远程连接mysql>GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'密码';mysql>flushprivileges;2、创建一个数据库mysql>createdatabasehive;QueryOK,1rowaffected(0.00sec)配置Hive数据库为MySQL需要在$HIVE_HOME的conf目录下复制一个模板如果不复制模板,可以单独创建hive-site.xml文件,注意使用<configuration>标签把配置包裹起来cphive-default.xml.templatehive-site.xml<!--配置MySQL数据库地址--><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://MySQL的IP:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value><description>JDBCconnectstringforaJDBCmetastore</description></property><!--配置MySQL驱动--><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><description>DriverclassnameforaJDBCmetastore</description></property><!--配置用户名--><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value><description>Usernametouseagainstmetastoredatabase</description></property><!--配置密码--><property><name>javax.jdo.option.ConnectionPassword</name><value>Aa@12345678</value><description>passwordtouseagainstmetastoredatabase</description></property><!--复制模板的需要添加--><property><name>system:java.io.tmpdir</name><value>/usr/local/src/hive/tmpdir</value></property><property><name>system:user.name</name><value>hive</value></property>初始化Hive数据库首先需要把MySQL驱动放入Hive的lib目录下[root@masterconf]#schematool-dbTypemysql-initSchemaMetastoreconnectionURL:jdbc:mysql://192.168.176.65:3306/hiveMetastoreConnectionDriver:com.mysql.jdbc.DriverMetastoreconnectionUser:rootStartingmetastoreschemainitializationto1.2.0Initializationscripthive-schema-1.2.0.mysql.sqlInitializationscriptcompletedschemaToolcompleted(初始化完成)[root@masterconf]#启动Hive[root@masterhive]#hiveLogginginitializedusingconfigurationinjar:file:/usr/local/src/hive/apache-hive-1.2.2-bin/lib/hive-common-1.2.2.jar!/hive-log4j.propertieshive>推荐阅读:Hive搭建常见错误
1、修改user表的root用户的Host为%mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||mysql||performance_schema||sys|+--------------------+4rowsinset(0.00sec)mysql>usemysql;mysql>selectHost,Userfromuser;+-----------+---------------+|Host|User|+-----------+---------------+|localhost|mysql.session||localhost|mysql.sys||localhost|root|+-----------+---------------+3rowsinset(0.00sec)mysql>updateusersetHost='%'whereUser='root';QueryOK,1rowaffected(0.01sec)Rowsmatched:1Changed:1Warnings:0mysql>selectHost,Userfromuser;+-----------+---------------+|Host|User|+-----------+---------------+|%|root||localhost|mysql.session||localhost|mysql.sys|+-----------+---------------+3rowsinset(0.00sec)mysql>flushprivileges;QueryOK,0rowsaffected(0.79sec)mysql>2、直接命令修改mysql>GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'密码';mysql>flushprivileges;这一步一定要做,不然无法成功!这句表示从mysql数据库的grant表中重新加
版本名称详情MySQL5.7(下载地址)平台CentOS7安装MySQL数据库检查CentOS是否安装有MySQL或者mariadb数据库rpm-qa|grep-imysql-qa:检查grep:过滤-i不区分大小写如有安装,卸载掉MySQL或者mariadb数据库[root@masterbin]#rpm-qa|grepmariadbmariadb-libs-5.5.64-1.el7.x86_64#删除mariadb数据库yumremovemariadb-libs-5.5.64-1.el7.x86_64安装MySQL组件以下组件有相互的依赖关系,所以需要安装这样的顺序安装,如果顺序错了,会提示依赖错误rpm-ivhmysql-community-common-5.7.28-1.el7.x86_64.rpmrpm-ivhmysql-community-libs-5.7.28-1.el7.x86_64.rpmrpm-ivhmysql-community-client-5.7.28-1.el7.x86_64.rpmyuminstallperlyuminstallnet-toolsrpm-ivhmysql-community-server-5.7.28-1.el7.x86_64.rpm启动mySQL数据库不启动,不会生成初始密码systemctlrestartmysqld查看随机密码第一种:cat/var/log/mysqld.log第二种:greppassword/var/log/mysqld.log修改密码首先进入数据库密码强度需要大小写母特殊字符数字最少8位SETPASSWORD=PASSWORD('新密码');修改MySQL密码强度策略#查看密码策略SHOWVARIABLESLIKE"%password%";#修改密码长度策略为5就是密码长度最短5位SETGLOBALvalidate_password_length=5;#修改密码强度策略0就不需要大小写字母和符号SETGLOBALvalidate_password_policy=0;
安装MySQL-server出现如下[root@mastermysql]#rpm-ivhMySQL-server-5.6.24-1.el6.x86_64.rpm准备中...#################################[100%]file/usr/share/mysql/charsets/READMEfrominstallofMySQL-server-5.6.24-1.el6.x86_64conflictswithfilefrompackagemariadb-libs-1:5.5.64-1.el7.x86_64file/usr/share/mysql/czech/errmsg.sysfrominstallofMySQL-server-5.6.24-1.el6.x86_64conflictswithfilefrompackagemariadb-libs-1:5.5.64-1.el7.x86_64file/usr/share/mysql/danish/errmsg.sysfrominstallofMySQL-server-5.6.24-1.el6.x86_64conflictswithfilefrompackagemariadb-libs-1:5.5.64-1.el7.x86_64file/usr/share/mysql/dutch/errmsg.sysfrominstallofMySQL-server-5.6.24-1.el6.x86_64conflictswithfilefrompackagemariadb-libs-1:5.5.64-1.el7.x86_64file/usr/share/mysql/english/errmsg.sysfrominstallofMySQL-server-5.6.24-1.el6.x86_64conflictswithfilefrompackagemariadb-libs-1:5.5.64-1.el7.x86_64......原因是系统已经安装了其他版本的mysql-libs包导致不兼容。可以使用命令查看yumlist|grepmysql,查看之前安装的mysql的信息将之前的mysql的lib包删除了即可,删除mysql-libsyumremovemysql-libs安装MySQL没有临时密码centos7通过yum装完mysql5.7,找不到root密码原因是原来安装过mysql残留有数据#第一步删除残留文件[root@master~]rm-rf/var/lib/mysql#第二部启动MySQL服务[root@master~]systemctlrestartmysqld#查看密码[root@master~]grep'temporarypassword'/var/log/mysqld.log
登录数据库Mysql为了安全,默认不允许远程用户root登录mysql-p[]-u[]-p[]mysql-hlocalhost-uroot-p参数作用-h主机地址:-p127.0.0.1:3306-u用户名:-uroot-p密码:-p密码查看数据库showdatabases;进入数据库use[数据库名];查看数据库的全部表第一种方法:首先要进入数据库:use[数据库名];然后查看表:showtables;第二种方法:直接查看showtablesfrom[数据库名];查看当前操作的数据库selectdatabase();mysql>selectdatabase();+------------+|database()|+------------+|news|+------------+1rowinset(0.00sec)创建数据库createdatabase[数据库名];删除数据库dropdatabaes[数据库名];退出Mysqlexitmysql>exitByeC:\Users\ASUS>打开数据库登录MySQL后,需要对数据库进行操作,例如查询、创建表等。需要先用use命令打开相应数据库,才能对该数据库进行后续操作。use[数据库名];mysql>usenews;Databasechangedmysql>创建数据库表打开相应数据库后,才能进行这项操作,最后一个字段不写逗号createtable[表名]([字段名1][类型1][类型2],[字段名2][类型1][类型2],....);createtablestudent(idint(4)primarykeyauto_increment,namechar(20)notnull,sexint(4)notnulldefault'0'#不写逗号);删除数据库表droptables[表名];droptablesstudent;查看MySQL的版本第一种方法:mysql>selectversion();+------------+|version()|+------------+|5.6.43-log|+------------+1rowinset(0.01sec)第二种方法:在CMD执行:mysql--version或者mysql-VC:\Users\ASUS>mysql--versionmysqlVer14.14Distrib5.6.43,forWin64(x86_64)
1、创建mysql文件夹:mkdir/home/mysql用于存放MySQL安装包2、打开创建的mysql文件:cd/home/mysql/3、解压tar文件:tar-xvfmysql-5.7.27-1.el7.x86_64.rpm-bundle.tar4、卸载冲突的RPM组件在我们安装mysql相关组件的时候,如果不将此冲突的组件删除掉,我们是安装不成功的。rpm-qa|greppostfixrpm-qa|grepmariadb5、安装相应的依赖:yum-yinstalllibaioyum-yinstallnet-toolsyum-yinstallperl6、安装mysql组件经过上面的解压操作,我们得到了很多rpm文件。但是我们不需要这么多,我们只需要安装以下四个组件就可以了:因为具有依赖关系,所以我们需要按顺序执行。rpm-ivhmysql-community-common-5.7.27-1.el7.x86_64.rpmrpm-ivhmysql-community-libs-5.7.27-1.el7.x86_64.rpmrpm-ivhmysql-community-client-5.7.27-1.el7.x86_64.rpmrpm-ivhmysql-community-server-5.7.27-1.el7.x86_64.rpm7、修改MySQL密码mysql安装完成之后我们是没有设置密码的,但是mysql为我们设置了一个临时的密码,我们可以查看mysql的日志知道这个临时密码,查看临时密码前确保数据库启动。查看mysql是否启动:servicemysqldstatus启动mysql:servicemysqldstart停止mysql:servicemysqldstop重启mysql:servicemysqldrestart(2)查看临时密码:greppassword/var/log/mysqld.log登录mysql(命令:mysql-p),输入临时密码退出当前登录:quit;修改密码:ALTERUSER'root'@'localhost'IDENTIFIEDBY'新密码';新密码有要求:Thiswillrequirethatpasswordscontainatleastoneuppercaseletter,onelowercaseletter,onedigit,andonespecialcharacter,andthatthetotalpasswordlengthisatleast8characters.这将要求密码包含至少一个大写字母、一个小写字母、一个数字和一个特殊字符,并且总密码长度至少为8个字符。太复杂了我们修改两个全局参数:首先,修改validate_password_policy参数的值mysql>setglobalvalidate_password_policy=0;再修改密码的长度mysql>setglobalvalidate_password_length=1;