• CM使用MySQL数据库预处理scm_prepare_database.sh执行报错:java.sql.SQLException: Access denied for user 'scm'@'hadoop101.com' (using password: YES)


    1.报错提示:

    [root@hadoop101 ~]# /opt/module/cm/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hhadoop101 -uroot -p000000 --scm-host hadoop101 scm scm scm
    JAVA_HOME=/opt/module/jdk1.8.0_121
    Verifying that we can write to /opt/module/cm/cm-5.12.1/etc/cloudera-scm-server
    log4j:ERROR Could not find value for key log4j.appender.A
    log4j:ERROR Could not instantiate appender named "A".
    Creating SCM configuration file in /opt/module/cm/cm-5.12.1/etc/cloudera-scm-server
    Executing:  /opt/module/jdk1.8.0_121/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/opt/module/cm/cm-5.12.1/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/module/cm/cm-5.12.1/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
    log4j:ERROR Could not find value for key log4j.appender.A
    log4j:ERROR Could not instantiate appender named "A".
    [2019-08-14 15:27:09,565] INFO     0[main] - com.cloudera.enterprise.dbutil.DbCommandExecutor.parseSqlState(DbCommandExecutor.java) - Unable to login using supplied username/password.
    [2019-08-14 15:27:09,591]ERROR    26[main] - com.cloudera.enterprise.dbutil.DbCommandExecutor$DbConnectionTestException.logError(DbCommandExecutor.java) - Error when connecting to database.
    java.sql.SQLException: Access denied for user 'scm'@'hadoop101.com' (using password: YES)
            at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
            at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)
            at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)
            at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:928)
            at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1750)
            at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1290)
            at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2493)
            at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2526)
            at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2311)
            at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
            at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
            at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
            at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
            at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:347)
            at java.sql.DriverManager.getConnection(DriverManager.java:664)
            at java.sql.DriverManager.getConnection(DriverManager.java:247)
            at com.cloudera.enterprise.dbutil.DbCommandExecutor.testDbConnection(DbCommandExecutor.java:253)
            at com.cloudera.enterprise.dbutil.DbCommandExecutor.main(DbCommandExecutor.java:138)
    [2019-08-14 15:27:09,597]ERROR    32[main] - com.cloudera.enterprise.dbutil.DbCommandExecutor$DbConnectionTestException.logError(DbCommandExecutor.java) - Exiting with exit code 8
    --> Error 8, giving up (use --force if you wish to ignore the error)

    报错提示scm用户访问不了数据库,即scm权限问题

    2.解决:

    授权scm用户所有访问权限:

    mysql> use mysql;
    mysql> select User,Host,Password from user;
    +------+-----------+-------------------------------------------+
    | User | Host      | Password                                  |
    +------+-----------+-------------------------------------------+
    | root | %         | *DDA7B4594264195DA8BB303516D7EC5509B7B942 |
    | scm  | hadoop101 | *45E6E3C68BDF1AC7EBB5C5A3BCBD5E9437B293BE |
    +------+-----------+-------------------------------------------+
    2 rows in set (0.00 sec)
    mysql> show grants for scm;
    +----------------------------------------------------------------------------------------------------+
    | Grants for scm@% |
    +----------------------------------------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO 'scm'@'%' IDENTIFIED BY PASSWORD '*45E6E3C68BDF1AC7EBB5C5A3BCBD5E9437B293BE' |
    +----------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> grant all privileges on *.* to'scm'@'%' identified by 'scm' with grant option;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> show grants for scm;
    +-------------------------------------------------------------------------------------------------------------------------------+
    | Grants for scm@% |
    +-------------------------------------------------------------------------------------------------------------------------------+
    | GRANT ALL PRIVILEGES ON *.* TO 'scm'@'%' IDENTIFIED BY PASSWORD '*45E6E3C68BDF1AC7EBB5C5A3BCBD5E9437B293BE' WITH GRANT OPTION |
    +-------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> drop database cm;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> exit;

    3.再次执行:

    [root@hadoop101 ~]# /opt/module/cm/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hhadoop101 -uroot -pasdf1234 --scm-host hadoop101 scm scm scm
    JAVA_HOME=/opt/module/jdk1.8.0_121
    Verifying that we can write to /opt/module/cm/cm-5.12.1/etc/cloudera-scm-server
    log4j:ERROR Could not find value for key log4j.appender.A
    log4j:ERROR Could not instantiate appender named "A".
    Creating SCM configuration file in /opt/module/cm/cm-5.12.1/etc/cloudera-scm-server
    Executing:  /opt/module/jdk1.8.0_121/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/opt/module/cm/cm-5.12.1/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/module/cm/cm-5.12.1/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
    log4j:ERROR Could not find value for key log4j.appender.A
    log4j:ERROR Could not instantiate appender named "A".
    [2019-08-14 15:50:54,732] INFO     0[main] - com.cloudera.enterprise.dbutil.DbCommandExecutor.testDbConnection(DbCommandExecutor.java) - Successfully connected to database.
    All done, your SCM database is configured correctly!

    log4j:ERROR Could not find value for key log4j.appender.A错误按照网上说法对root用户授最大权限,但是试了还是报,最终提示成功了就没管,如果有其他方法请指教!

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'  IDENTIFIED BY '000000'  WITH GRANT OPTION;
    Query OK, 0 rows affected (0.00 sec)
  • 相关阅读:
    静态方法中访问类的实例成员
    静态初始化块
    Java字段初始化的规律
    java中函数重载
    哈姆雷特观后感 一把辛酸泪
    枚举
    验证码
    四则运算
    JAVA输出中+号的作用以及如何使用
    dev控件ASPxComboBox设置ReadOnly="true"后
  • 原文地址:https://www.cnblogs.com/MWCloud/p/11352557.html
Copyright © 2020-2023  润新知