Ubuntu MySQL插件如何使用
导读:Ubuntu 上 MySQL 插件使用指南 一 前置准备与常用命令 安装与启动 更新索引并安装:sudo apt update && sudo apt install mysql-server 查看状态与自启:sudo...
Ubuntu 上 MySQL 插件使用指南
一 前置准备与常用命令
- 安装与启动
- 更新索引并安装:sudo apt update & & sudo apt install mysql-server
- 查看状态与自启:sudo systemctl status mysql、sudo systemctl enable mysql
- 登录与基础检查
- 本地登录:sudo mysql(部分 Ubuntu 20.04+ 的 root@localhost 默认使用 auth_socket,无需密码;也可 mysql -u root -p 使用密码登录)
- 查看插件:SHOW PLUGINS;
- 安装插件:INSTALL PLUGIN 插件名 SONAME ‘插件库.so’;
- 卸载插件:UNINSTALL PLUGIN 插件名;
- 在线启用/禁用(若插件支持):SET GLOBAL 插件名_enabled=ON|OFF;
- 配置文件与目录
- 主配置:/etc/mysql/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf
- 插件目录(常见):/usr/lib/mysql/plugin/(安装 .so 插件时确保文件存在且可读)
- Ubuntu 维护账号:debian-sys-maint(凭据在 /etc/mysql/debian.cnf,可用于紧急维护)
二 典型场景与示例
- 认证插件使用与切换(解决客户端兼容)
- 查看用户认证方式:SELECT user, host, plugin FROM mysql.user;
- 将某用户切换为 mysql_native_password(兼容旧客户端):
- ALTER USER ‘用户名’@‘主机’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
- FLUSH PRIVILEGES;
- 全局默认认证方式(对新创建用户生效):
- 编辑 /etc/mysql/mysql.conf.d/mysqld.cnf,在 [mysqld] 下添加:default_authentication_plugin=mysql_native_password
- 重启:sudo systemctl restart mysql
- 将 root@localhost 改回 auth_socket(仅本机 sudo 免密登录):
- ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH auth_socket;
- FLUSH PRIVILEGES;
- 安装 InnoDB 存储引擎插件(仅当发行版将 InnoDB 作为可加载插件时)
- 安装:INSTALL PLUGIN InnoDB SONAME ‘ha_innodb.so’;
- 验证:SHOW PLUGINS LIKE ‘InnoDB’;
- 建表指定引擎:CREATE TABLE t(id INT) ENGINE=InnoDB;
- 安装 InnoDB memcached 插件(示例,MySQL 5.6+)
- 准备配置:mysql -u root -p < /usr/share/mysql/innodb_memcached_config.sql
- 安装插件:INSTALL PLUGIN daemon_memcached SONAME ‘libmemcached.so’;
- 插件库路径检查:常见在 /usr/lib/mysql/plugin/(不同版本可能不同)
- 安装第三方插件 HandlerSocket(示例)
- 安装依赖:sudo apt install build-essential libmysqlclient-dev libssl-dev
- 下载源码并编译,将生成的 .so 放入插件目录(如 /usr/lib/mysql/plugin/)
- 在 MySQL 内安装:INSTALL PLUGIN handlersocket SONAME ‘handlersocket.so’;
- 注意:第三方插件非官方包,需自行评估稳定性与安全性
三 常见问题与排查
- 插件目录或文件不存在
- 确认 .so 在 /usr/lib/mysql/plugin/ 且权限正确;必要时调整 plugin_dir 配置并重启
- 安装时报 “Plugin ‘xxx’ is not loaded”
- 检查 SHOW PLUGINS; 输出;确认 SONAME 与文件一致;必要时重启后再安装
- 认证插件导致客户端连不上
- 旧客户端优先使用 mysql_native_password;或保持 caching_sha2_password 并在客户端启用相应驱动/参数
- 修改配置未生效
- 修改 /etc/mysql/mysql.conf.d/mysqld.cnf 后执行:sudo systemctl restart mysql
- 忘记 root 密码或无法登录
- 使用 debian-sys-maint 登录:sudo mysql --defaults-file=/etc/mysql/debian.cnf
- 之后可 ALTER USER 重置密码或调整认证插件,再 FLUSH PRIVILEGES;
四 安全与运维建议
- 避免直接开放 root 远程登录,建议为远程访问创建专用用户并授予最小权限
- 变更权限或认证方式后务必执行 FLUSH PRIVILEGES;
- 谨慎启用第三方插件,优先选择 APT 官方仓库提供的包;自行编译需校验来源与完整性
- 定期备份与审计,生产环境变更前在测试环境验证插件兼容性与性能影响
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu MySQL插件如何使用
本文地址: https://pptw.com/jishu/757320.html
