You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一Ubuntu服务器运行MySQL 5.7与免安装MySQL 8的权限问题求助

解决MySQL 8通用二进制文件运行权限错误

问题分析

报错File './binlog.index' not found (OS errno 13 - Permission denied)本质是权限不匹配:要么运行mysqld的用户无目标目录读写权限,要么目录归属用户与运行用户不一致。由于系统已通过apt安装MySQL 5.7,默认使用mysql用户运行,而直接启动二进制版MySQL 8时大概率用了root用户,或目录权限未给mysql用户开放。

解决方案

1. 修正目录权限

将MySQL 8二进制包的安装目录及数据目录权限递归设置为mysql用户所有:

chown -R mysql:mysql /home/mysql8/mysql8base

如果数据目录单独在其他路径(比如/home/mysql8/mysql8data),也要同步修正该目录权限。

2. 用mysql用户启动MySQL 8

禁止用root用户直接启动,切换到mysql用户或通过sudo指定用户启动:

sudo -u mysql /home/mysql8/mysql8base/bin/mysqld --defaults-file=/home/mysql8/mysql8base/my.cnf &

注意:--defaults-file必须指定你的MySQL 8专属配置文件,确保配置中的datadir指向正确路径,且该路径已完成权限修正。

3. 明确二进制日志路径

若仍报错,检查配置文件中log_bin参数,避免使用相对路径,改为绝对路径确保mysql用户可访问:

# 在my.cnf中添加或修改
log_bin = /home/mysql8/mysql8base/data/binlog

修改后重新启动服务。

4. 规避与MySQL 5.7的冲突

确保MySQL 8使用独立的端口、socket文件,避免与系统apt安装的5.7版本冲突,在配置文件中添加:

port = 3307
socket = /home/mysql8/mysql8base/mysql.sock

内容的提问来源于stack exchange,提问作者iNextKB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 03:24:22