pyspark 使用jdbc 连接mysql 数据库报错 Access denied for user 'root'@'localhost'

在使用jdbc开启pyspark shell

下载jar包:https://dev.mysql.com/downloads/connector/j/

tar -zxf mysql-connector-java-8.0.13.tar.gz /usr/local/spark/jars/

在启动pyspark 时 指定--jars参数

 pyspark --jars /usr/local/spark/jars/mysql-connector-java-8.0.13/mysql-connector-java-8.0.13.jar --driver-class-path /usr/local/spark/jars/mysql-connector-java-8.0.13/mysql-connector-java-8.0.13.jar

在pyspark shell 中连接mysql数据库时出错

jdbcDF = spark.read.format("jdbc").option("url", "jdbc:mysql://localhost:3306/spark").option("driver","com.mysql.jdbc.Driver").option("dbtable", "student").option("user", "root").option("password", "hadoop").load()

报错显示:

Py4JJavaError: An error occurred while calling o31.load.
: java.sql.SQLException: Access denied for user 'root'@'localhost'

最后在mysql数据库中重新建立了一个 用户,为这个用户指定数据库权限。然后使用这个用户连接数据库,没有报错。

posted @ 2018-11-20 16:21  Ray_lei  阅读(1964)  评论(0编辑  收藏  举报