前言

最近区块链底层打镜像依赖的时候,涉及到链下数据库同步,需要链接 mysql 数据库自动同步链上数据,但 k8s 管理那边给的数据库用户非root,因为权限不足,出现如下错误

error|2023-04-12 14:06:40.128921|[g:1][SQLConnectionPool] init connection pool failed url:10.241.141.23:23306 error msg:Access denied; you need (at least one of) the SUPER privilege(s) for this operation

在这里插入图片描述

原因

出现这个原因是:当前用户没有SUPER权限。使用root用户给当前用户授予SUPER权限即可。(同理如果提示出现其他也是同问题)

解决

三步:1.以 root 身份登录;2.给指定用户授予SUPER权限;3.刷新权限

// 以root身份登录
[root@centos01 ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.32 MySQL Community Server - GPL
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

// 授权 --给指定用户例如blockchain用户授予指定权限
mysql> GRANT SUPER ON *.* TO 'blockchain'@'%';
Query OK, 0 rows affected (0.01 sec)

// 刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql>

问题就解决了!

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐