Knime 数据库编写器节点中的用户拒绝创建命令
CREATE command denied to user in Knime database writer node
在新的 KNIME 工作流程中。我创建了一个新的数据库连接节点和一个从 CSV reader 节点接受数据的新数据库写入器节点。
数据库连接节点执行成功。
当我执行数据库写入器节点时,出现 CREATE 命令被拒绝错误。
Database connector节点配置如下:
数据库 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 输入:数据 table 约 32000 行和 15 列。
端口 2 输入:数据库连接器
Table姓名:你好
KNIME 版本:3.3.2
当我执行数据库编写器节点时,我得到:
ERROR Database Writer 0:3 Execute failed: CREATE command denied to user 'test'@'localhost' for table 'hello'
有什么线索是造成这种情况的原因吗?
来自MySql
A grant table reload affects privileges for each existing client
connection as follows:
Table and column privilege changes take effect with the client's next request.
Database privilege changes take effect the next time the client executes a USE db_name statement.
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.
Global privileges and passwords are unaffected for a connected client.
These changes take effect only for subsequent connections.
在新的 KNIME 工作流程中。我创建了一个新的数据库连接节点和一个从 CSV reader 节点接受数据的新数据库写入器节点。 数据库连接节点执行成功。 当我执行数据库写入器节点时,出现 CREATE 命令被拒绝错误。
Database connector节点配置如下:
数据库 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 输入:数据 table 约 32000 行和 15 列。
端口 2 输入:数据库连接器
Table姓名:你好
KNIME 版本:3.3.2
当我执行数据库编写器节点时,我得到:
ERROR Database Writer 0:3 Execute failed: CREATE command denied to user 'test'@'localhost' for table 'hello'
有什么线索是造成这种情况的原因吗?
来自MySql
A grant table reload affects privileges for each existing client connection as follows: Table and column privilege changes take effect with the client's next request. Database privilege changes take effect the next time the client executes a USE db_name statement.
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.
Global privileges and passwords are unaffected for a connected client. These changes take effect only for subsequent connections.