zoukankan      html  css  js  c++  java
  • hive 数据库迁移记录

    服务器更换,需要把hive使用的mysql库迁移到其他服务器上.

    整个过程很简单,就是数据库导出导入

    1.在原服务器将数据库导出

    $ mysqldump -h ip -u username -p metadata4ad > metadata4ad.sql
    Enter password: 
    tty:[4] jobs:[0] cwd:[/home/ad]
    $ ll metadata4ad.sql 
    -rw-rw-r-- 1 ad ad 62317790 10-27 10:10 metadata4ad.sql

    2.在目标服务器上新建数据库,用户,权限设置

    mysql> create database metadata4ad;
    Query OK, 1 row affected (0.01 sec)
    
    mysql> create user 'user'@'%' identified by 'password';
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> grant ALL privileges on metadata4ad.* to 'user'@'%' with grant option;
    Query OK, 0 rows affected (0.02 sec)
    mysql>  FLUSH privileges;

    3.复制数据库文件到目标服务器

    $scp metadata4ad.sql  dst_ip:~/

    4.目标服务器上,把数据库文件导入数据库

    到sql存放目录,进入数据库

    $mysql -uad -p
    mysql>use metadata4ad
    mysql> source metadata4ad.sql
    mysql> show tables;
    +---------------------------+
    | Tables_in_metadata4ad     |
    +---------------------------+
    | BUCKETING_COLS            |
    | CDS                       |
    | COLUMNS_V2                |
    | DATABASE_PARAMS           |
    | DBS                       |
    | DELEGATION_TOKENS         |
    | IDXS                      |
    | INDEX_PARAMS              |
    | MASTER_KEYS               |
    | PARTITIONS                |
    | PARTITION_KEYS            |
    | PARTITION_KEY_VALS        |
    | PARTITION_PARAMS          |
    | PART_COL_PRIVS            |
    | PART_COL_STATS            |
    | PART_PRIVS                |
    | SDS                       |
    | SD_PARAMS                 |
    | SEQUENCE_TABLE            |
    | SERDES                    |
    | SERDE_PARAMS              |
    | SKEWED_COL_NAMES          |
    | SKEWED_COL_VALUE_LOC_MAP  |
    | SKEWED_STRING_LIST        |
    | SKEWED_STRING_LIST_VALUES |
    | SKEWED_VALUES             |
    | SORT_COLS                 |
    | TABLE_PARAMS              |
    | TAB_COL_STATS             |
    | TBLS                      |
    | TBL_COL_PRIVS             |
    | TBL_PRIVS                 |
    | VERSION                   |
    +---------------------------+

    5.如果hive中配置了权限验证,还需要在hive中给用户配置权限

     比如给 hadoop 用户配置所有权限

    hive> grant all to user hadoop;
    OK
    Time taken: 0.389 seconds

       只配置操作某个数据的权限

    hive> grant create on database dbname to user hadoop;  //只给了在数据库dbname中创建表的权限
    
    hive> grant all on database dbname to user hadoop;  //在数据库dbname中有所有权限

    权限:

           HIVE支持以下权限:

    权限名称 含义
    ALL 所有权限
    ALTER 允许修改元数据(modify metadata data of object)---表信息数据
    UPDATE 允许修改物理数据(modify physical data of object)---实际数据
    CREATE 允许进行Create操作
    DROP 允许进行DROP操作
    INDEX 允许建索引(目前还没有实现)
    LOCK 当出现并发的使用允许用户进行LOCK和UNLOCK操作
    SELECT 允许用户进行SELECT操作
    SHOW_DATABASE 允许用户查看可用的数据库

     

    迁移完成.

  • 相关阅读:
    JUC原子类 1
    线程优先级和守护线程
    多线程中断
    关于html5不支持frameset的解决方法
    shell中$0,$?,$!等的特殊用法
    Linux GCC常用命令
    C/C++中extern关键字详解
    js实现iframe自适应高度
    java线程安全总结
    Linux平台Java调用so库-JNI使用例子
  • 原文地址:https://www.cnblogs.com/pingjie/p/4913652.html
Copyright © 2011-2022 走看看