MySQL8.0 无法加载 component_reference_cache.so 插件

2,362 阅读1分钟

MySQL8.0 无法加载 component_reference_cache.so 插件

错误信息及分析

2023-11-24 07:04:56+08:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.35-1.el8 started. 
2023-11-24 07:04:56+08:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' 
2023-11-24 07:04:56+08:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.35-1.el8 started. '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock' mysqld: Can't open shared library '/var/lib/mysql/lib64/mysql/plugin/component_reference_cache.so' (errno: 0 
/var/lib/mysql/lib64/mysql/plugin/component_reference_cache.so: cannot open shared object file: No such file or directory) 
mysqld: Cannot load component from specified URN: 'file://component_reference_cache'.

无法加载 /var/lib/mysql/lib64/mysql/plugin/component_reference_cache.so 组件。

然后查看 /var/lib/mysql/lib64/mysql/plugin 是否有这样的目录,如果没有则是因为你挂载过 /var/lib/mysql 目录。

解决方法

  • 不要使用挂载 /var/lib/mysql 文件
  • 正常运行一个 mysql8.0.35
  • 然后进入容器登陆 mysql -u root -p
  • 使用命令查看 SHOW VARIABLES LIKE 'plugin_dir' 目录是什么
  • 然后在配置文件里设置这个目录即可,参数 plugin_dir

my.cnf 配置

[mysqld]
    plugin_dir=/usr/lib64/mysql/plugin

然后再将上面的文件挂载在 /etc/mysql/conf.d 目录下