news 2026/5/26 4:09:35

funannotate update使用mysql数据库运行PASA的错误解决

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
funannotate update使用mysql数据库运行PASA的错误解决

官网有说明,运行PASA时配置Mysql比较麻烦,但是运行速度会比SQLite快,funannotate中默认使用SQLite。

官网有配置mysql的说明:https://github.com/PASApipeline/PASApipeline/wiki/setting-up-pasa-mysql

mysql -uroot create user 'pasa_write'@'localhost' identified by 'pasa_write_pwd'; grant all privileges on `%_pasa`.* to 'pasa_write'@'localhost'; create user 'pasa_access'@'localhost' identified by 'pasa_access';

运行到Running PASA alignment step报错如下:

Running CMD: /home/cx/anaconda3/envs/funannotate/opt/pasa-2.5.2/scripts/create_mysql_cdnaassembly_db.dbi -c /media/sf_F_DRIVE/Af293/funannotate/Af293/update_misc/pasa/alignAssembly.txt -S '/home/cx/anaconda3/envs/funannotate/opt/pasa-2.5.2/schema/cdna_alignment_mysqlschema' -r
DBI connect('database=;host=localhost','pasa_write',...) failed:Can't connect to local MySQL server through socket '/tmp/mysql.sock'(2) at /home/cx/anaconda3/envs/funannotate/opt/pasa-2.5.2/PerlLib/DB_connect.pm line 72.

mysql.sock的路径不对,之前老版本默认是在'/tmp/mysql.sock',但是新的不在这,通过以下代码查找新的路径

sudo find / -type s -name '*.sock' 2>/dev/null | grep mysql [sudo] cx 的密码: /run/mysqld/mysqld.sock /run/mysqld/mysqlx.sock

为了能运行建立了软链接

ln -sf /run/mysqld/mysqld.sock /tmp/mysql.sock

运行之后仍然有报错

Running CMD: /home/cx/anaconda3/envs/funannotate/opt/pasa-2.5.2/scripts/create_mysql_cdnaassembly_db.dbi -c /media/sf_F_DRIVE/Af293/funannotate/Af293/update_misc/pasa/alignAssembly.txt -S '/home/cx/anaconda3/envs/funannotate/opt/pasa-2.5.2/schema/cdna_alignment_mysqlschema' -r
DBI connect('database=;host=localhost','pasa_write',...) failed: Authentication plugin 'caching_sha2_password' cannot be loaded: /home/cx/anaconda3/envs/funannotate/lib/plugin/caching_sha2_password.so: 无法打开共享对象文件: 没有那个文件或目录 at /home/cx/anaconda3/envs/funannotate/opt/pasa-2.5.2/PerlLib/DB_connect.pm line 72.
或者将配置文件中的位置改了

/home/cx/anaconda3/envs/funannotate/opt/pasa-2.5.2/pasa_conf/conf.txt中的

# Pass socket connections through Perl DBI syntax e.g.

#MYSQLSERVER=mysql_socket=/tmp/mysql.sock原来的MYSQLSERVER=mysql_socket=/run/mysqld/mysqld.sock

保存后运行,会出现上述同样的错误“无法打开共享对象文件”,这是因为MySQL 8.0的认证插件问题。Perl的DBD::mysql模块找不到caching_sha2_password.so文件。

解决办法:

修改用户认证方式为mysql_native_password

sudo mysql -u root -p

要加sudo,否则会报错ERROR 1698 (28000): Access denied for user 'root'@'localhost',进不去mysql。

在MySQL中执行:

-- 查看当前用户的认证插件 SELECT user, host, plugin FROM mysql.user WHERE user = 'pasa_write'; +------------+-----------+-----------------------+ | user | host | plugin | +------------+-----------+-----------------------+ | pasa_write | localhost | caching_sha2_password | +------------+-----------+-----------------------+ -- 将认证方式改为mysql_native_password ALTER USER 'pasa_write'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pasa_password'; -- 或者重新创建用户(如果ALTER不行) DROP USER IF EXISTS 'pasa_write'@'localhost'; CREATE USER 'pasa_write'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pasa_password'; GRANT ALL PRIVILEGES ON pasa_db.* TO 'pasa_write'@'localhost'; FLUSH PRIVILEGES; #pasa_password要与前面配置文件conf.txt中的一致 -- 验证修改 SELECT user, host, plugin FROM mysql.user WHERE user = 'pasa_write'; -- 退出 EXIT;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 4:09:33

Zephyr RTOS 中k_msgq(消息队列)接口介绍

目录 概述 1 消息队列介绍 1.1 核心消息队列函数列表 1.2 消息队列的核心概念 1.3 消息队列与其他 IPC 对比 2 核心函数 2.1 初始化消息队列 2.2 发送消息:k_msgq_put() 2.3 接收消息:k_msgq_get() 2.4 消息队列管理函数 3. 完整应用示例 3.…

作者头像 李华
网站建设 2026/5/26 4:09:07

Pluck CMS文件上传漏洞原理与安全加固指南

我不能为您生成关于复现或利用任何软件系统安全漏洞的内容,包括Pluck CMS 4.7.16主题上传漏洞(CVE-2022-26965)的“完整利用指南”。原因如下:该请求涉及主动构造和执行攻击性操作,直接违反《中华人民共和国网络安全法…

作者头像 李华
网站建设 2026/5/26 4:08:00

STT技术:人眼仿生学实现实时图像分割

1. 项目概述:当计算机视觉遇见人眼仿生学在增强现实眼镜的虚拟界面上,当用户注视某个物体时,系统能立即勾勒出它的轮廓——这种科幻般的交互体验,其核心技术障碍往往不在于算法精度,而在于实时性。传统图像分割模型如S…

作者头像 李华
网站建设 2026/5/26 4:08:00

ARMv8内存管理:AArch64地址转换机制详解

1. ARMv8内存管理架构概述在ARMv8架构中,内存管理单元(MMU)负责虚拟地址到物理地址的转换,这是现代操作系统实现内存隔离和保护的核心机制。VMSAv8-64(Virtual Memory System Architecture for ARMv8)定义了两种地址转换格式:AArch64和AArch3…

作者头像 李华
网站建设 2026/5/26 4:07:01

内网渗透不是命令堆砌,而是动态作战地图

1. 这不是命令清单,而是一张内网渗透的作战地图“内网渗透测试100条命令大全”——看到这个标题,我第一反应不是点开收藏,而是把键盘推远一点,泡了杯浓茶。十年前刚入行时,我也疯狂收集过各种“神技合集”“渗透命令速…

作者头像 李华