zoukankan      html  css  js  c++  java
  • mysql创建新用户及新用户不能本地登陆的问题

    最近在搭建hadoop集群,主节点上面安装的MySQL数据库,对着方面不熟悉,为hive、Ooize等服务统一使用的root账号和密码,为了安全一些库对于某些用户是不可见的,所以需要针对不同的服务设置不同的账户及可以访问的主机。

    创建新用户

    CREATE USER 'uname'@'hostname' IDENTIFIED BY 'password';

    其中:
    uname:为新创建的用户名
    password:为新用户的密码
    hostname:为该用户可以在哪台机器上面登陆,本地的则为localhost,如果想要任意机器远程登陆,则可以使用通配符%
    用户创建好之后可以查看当前的用户有哪些

    select host,user from mysql.user;


    我这里面添加的用户为hive,允许登陆的主机为任意主机,所以用的是%

    新用户授权

    新用户现在有了,需要为用户授权

    GRANT All privileges ON database.* TO 'hive'@'%' IDENTIFIED BY 'password';

    database:为授权访问的库,后面跟的是可访问的表,如果是都可以访问则使用*

    新用户不能本地访问

    用户创建好了,也授权了,那就登陆吧

    mysql -hlocalhost -uhive -pxxx
    ERROR 1045 (28000): Access denied for user 'hive'@'localhost' (using password: YES)

    神马??居然不能登陆,经过一番探索,原来MySQL有账户为空的账户,在本地直接输入>>mysql就能登陆,将这个空账户删了就可以登陆

    mysql -uroot -padmin --切换root登陆
    use mysql
    delete from user where User='';  --删除账号为空的行
    flush privileges;  --刷新权限
    exit  --退出

    现在就可以用新用户登陆了,搞定~

  • 相关阅读:
    回调函数(C语言)
    main函数的参数(一)
    术语,概念
    [LeetCode] Invert Binary Tree
    关于overload和override
    第一个只出现一次的字符
    Manacher算法----最长回文子串
    C++对象模型
    回文判断
    字符串转换成整数
  • 原文地址:https://www.cnblogs.com/wxshi/p/7483121.html
Copyright © 2011-2022 走看看