网站首页 > 博客文章 正文
近期有同学反馈数据库安装的时候,已确定目录权限已经设置了,但是还是无法安装的情况。解决后,分享一下,帮助大家遇到相同问题时更快定位及解决。
1、案例还原
1.1 创建目录并创建授权
处理完成后,权限如下
1.2 安装数据库
bin/mysqld --defaults-file=/data/mysql/mysql3306/etc/my.cnf --initialize --user=mysql
此时报错信息如下:
mysqld: Can't change dir to '/data/mysql/mysql3306/data/' (Errcode: 13 - Permission denied)
2022-10-29T19:02:30.058126+08:00 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2022-10-29T19:02:30.058209+08:00 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2022-10-29T19:02:30.058277+08:00 0 [Note] Ignoring --secure-file-priv value as server is running with --initialize(-insecure) or --bootstrap.
2022-10-29T19:02:30.058317+08:00 0 [Note] bin/mysqld (mysqld 5.7.23-24-log) starting as process 9532 ...
2022-10-29T19:02:30.099203+08:00 0 [Note] --initialize specifed on an existing data directory.
2022-10-29T19:02:30.100460+08:00 0 [ERROR] failed to set datadir to /data/mysql/mysql3306/data/
2022-10-29T19:02:30.105066+08:00 0 [ERROR] Aborting
2022-10-29T19:02:30.105118+08:00 0 [Note] Binlog end
2022-10-29T19:02:30.105494+08:00 0 [Note] bin/mysqld: Shutdown complete
1.3 原因排查
因之前在大数据机器上安装数据库出现过类似情况,因此想到查看上层目录权限,结果果然是上层目录权限问题。
1.4 问题解决
修改目录权限为755
chmod 755 mysql/
再进行初始化
bin/mysqld --defaults-file=/data/mysql/mysql3306/etc/my.cnf --initialize --user=mysql
顺利完成初始化
启动数据库,成功
/usr/local/mysql5.7/bin/mysqld_safe --defaults-file=/data/mysql/mysql3306/etc/my.cnf
2. 相似案例
使用xtrabackup工具还原数据库时,如果配置文件中的数据目录地址在本机中没创建,那么在还原后启动数据库时也不成功,
2.1 现场还原
xtrabackup工具备份一个数据库实例,然后恢复至一个新实例(此过程略过,直接到还原目录不存在的位置)。
先不创建此目录(通常是写错位置,或创建的时候写错目录名等)
开始还原
innobackupex --defaults-file=/root/my.cnf --move-back ./
可以看到,还原的步骤能顺利进行
数据和日志目录也自动创建了。
此时因为我们的配置文件在/root目录下,启动时,因配置文件中指定了tmp目录,因此在/data/mysql/mysql3307下创建一个空的tmp目录,保证目录均存在。之后再创建一个日志文件。目录权限调整为mysql属主
正常情况下此时启动数据库即可,可惜失败了。
日志文件中也无任何内容。
这种情况,大家可能会想到是权限问题,比如有地方没设置mysql属主等,但其实不然。此情况就如同案例1中那样,是因为目录的操作权限不足导致。修改一下即可,例如:
只需要将/data/mysql目录操作权限修改为755(建议子目录也修改为755,但是不修改也可以正常启动)
chmod 755 /data/mysql
子目录未调整
启动数据库
查看进程已启动
日志也正常
3. 小结
数据库对目录及文件的操作权限、属主等的要求是比较严格的,其中一条不符合要求就无法创建或启动数据库,以上案例希望对大家有帮助,也可关注微信公众号“数据库干货铺”获取更多内容。
猜你喜欢
- 2024-10-02 K8s 网络问题自己能解决吗?(k8s网络不稳定)
- 2024-10-02 重学计算机组成原理(七)- 程序无法同时在Linux和Windows下运行
- 2024-10-02 AOP编程_Android优雅权限框架(2)Demo完全解析
- 2024-10-02 微信小程序云数据库update更新数据为0问题解决
- 2024-10-02 su切换用户:su failed to execute /bin/bash;Permission denied
- 2024-10-02 大数据------安装错误集锦(详细解决教程)
- 2024-10-02 gradle4.1后not resolve com.android.tools.build:gradle:3.0.1
- 2024-10-02 纳税申报系统常见问题(纳税申报系统常见问题有哪些)
- 2024-10-02 mediaDevices.getUserMedia提示DOMException:Permission denied by
- 2024-10-02 终于有人把所有的Java异常处理方法给总结出来了
你 发表评论:
欢迎- 最近发表
-
- 解决Win10打开软件提示“服务器没有及时响应或控制请求”
- 用友UAP解开非结构化大数据处理与分析的密码
- Windows 25H2 修复底层崩溃(windows修复环境)
- 开源技巧:使用Docker实现交互式任务
- Win11 任意版本 直接安装 Android 应用 教程完整版
- Windows Terminal已成为Windows 11操作系统的默认终端
- 那些好莱坞电影中炫酷的特效 原来是这么拍的
- Windows 10 Build 21327.1010发布:测试服务管道更新
- Made in China: The story behind the label
- PowerShell登录远程Linux系统(powershell开启远程桌面)
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- flutterrun (59)
- 系统设计图 (58)
- powershellfor (73)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)