在新的KNIME工作流程中。我创建了一个新的数据库连接节点和一个新的Database Writer节点,该节点从CSV读取器节点接受其数据。 数据库连接节点的执行成功。 当我执行数据库编写器节点时,我收到CREATE命令被拒绝错误。
数据库连接器节点的配置如下:
数据库URL:jdbc:mysql:// localhost:3306 / hello_knime_database
用户名:test
密码:测试
mysql配置:
$ mysql -u test -p
mysql> show databases;
+----------------------+
| Database |
+----------------------+
| information_schema |
| hello_knime_database |
+----------------------+
2 rows in set (0.00 sec)
mysql> show grants;
+--------------------------------------------------------------------------
-------------------+
| Grants for test@localhost
|
+--------------------------------------------------------------------------
-------------------+
| GRANT USAGE ON *.* TO 'test'@'localhost'
|
| GRANT ALL PRIVILEGES ON `hello_knime_database`.* TO 'test'@'localhost'
|
| GRANT ALL PRIVILEGES ON `hello_knime_database`.`hello_knime_database` TO
'test'@'localhost' |
+--------------------------------------------------------------------------
-------------------+
3 rows in set (0.01 sec)
数据库编写器配置:
端口1输入:大约32000行和15列的数据表。
端口2输入:数据库连接器
表名:hello
KNIME版本:3.3.2
当我执行Database Writer节点时,我得到:
ERROR Database Writer 0:3 Execute failed: CREATE command denied to user 'test'@'localhost' for table 'hello'
导致这种情况的任何线索?
答案 0 :(得分:1)
来自MySql
授权表重新加载会影响每个现有客户端的权限 连接如下: 表和列权限更改将随客户端的下一个请求生效。 数据库权限更改将在客户端下次执行USE db_name语句时生效。
Note Client applications may cache the database name; thus, this effect may not be visible to them without actually changing to a different database or flushing the privileges.
对于已连接的客户端,全局权限和密码不受影响。 这些更改仅对后续连接生效。