mysql - 无法加载caching_sha2_password
问题描述
我试图从 C 代码连接到 mysql 服务器。
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>
main(){
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = "12345"; /* set me first */
char *database = "mydatabase";
conn = mysql_init(NULL);
printf("done 1\n");
if (!mysql_real_connect(conn, server,
user, password, database, 3306, "/tmp/mysql.sock", 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
printf("done 2\n");
if (mysql_query(conn, "show tables")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
printf("done 3\n");
res = mysql_use_result(conn);
printf("done 4\n");
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);
printf("done 5\n");
mysql_free_result(res);
mysql_close(conn);
}
但我有一个奇怪的问题:
done 1
Plugin caching_sha2_password could not be loaded: /usr//usr/lib/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
我不知道为什么它会尝试从/usr//usr/加载 lib
如果您已经达成协议,请提供帮助!
解决方案
推荐阅读
- c# - 如何在控制台应用程序中使用实体框架从数据库中填充 html 字段?
- javascript - 当我遍历一个对象时,为什么我的数组没有按应有的方式更新?Javascript
- eiffel - 在 Eiffel 中使用循环初始化数组
- html - 图片无法在谷歌浏览器上加载
- django - DeleteView 中的 AttributeError
- ios - Swift4 条码(ean13)不起作用
- bash - 如何在外壳脚本中使用 $variable)
- c++ - 是否存在具有底层堆分配的可选类型
- c# - 用 LineRenderer 画一个封闭的圆
- java - 我可以使用参数化的类型参数化 ResponseEntity (Spring) 吗?