- 资源介绍
- 更新记录
- 安装教程
关键词(Key Words)
- ERROR 1006 (HY000): Can’t create database
- Starting MySQL. The server quit without updating PID file
- MySQL 数据库目录权限问题
开发环境
- 系 统:CentOS Linux release 7.5.1804 (Core)
- MySQL版本:MySQL 5.6
问题场景描述
在某次操作中,我作死用 find 和 chown 命令行修改文件/文件夹的权限和所有者,后来简单粗暴地把 www 文件夹的权限改回755[1],把文件的权限改为644;所有者全部改为root,就在这个时候,一个隐形的大地雷就被我亲手埋下了。。
当我第二天再数据库中建立一个新的数据库的时候,我发现,无论我是使用数据库的普通用户,还是使用 root 用户登录,他都好像开玩笑地告诉我:
ERROR 1006 (HY000): Can't create database
我立马觉得这不对劲,一定是自己埋下的深坑。。我把 ERROR 复制到搜索引擎上一搜索,发现大多数说的是权限,于是想起自己干起的好事,就开始寻找起恢复默认权限的方法(可惜没有备份),这折腾着折腾着我重启了 mysqld 服务,并且令人惊讶的是,shutdown OK,Start failed
,又报了一个错误:
Starting MySQL.The server quit without updating PID file
[捂脸][捂脸] 我就开始找 MySQL 的日志,发现没有报错,并且接下来的每次重启都没有记录在日志中,
这让我有种刚掉一个坑还没出来,发现不小心又掉进另外一个坑的感觉。。
但是还好坚持了一个上午,直到下午才发现,原来是同一个问题的导致的:MySQL数据目录可能存在权限问题。在你看完解决方案之后,也许你也就明白了。
解决方案
-
打开/etc/my.cnf
在 [mysqld] 中找到两个信息:
datadir
—— 这是你的数据库存取数据的地方 , 例如我的是datadir = /www/server/data
,/www/server/data
就是我的数据目录;log-bin
—— 这是存在日志的地方,不过有可能只看到log-bin=mysql-bin
,这里默认没有修改的话,mysql-bin
是在上面的datadir
。
-
先看错误日志
打开到你的
datadir
文件夹位置 , 有一个 ***.err 的文件,这是 MySQL 的一个错误日志,你可以使用 vim 打开查看是否有什么错误的信息;
下面是关键的两步,也是导致出现上面两个问题的原因:
- MySQL每次开始服务的时候要先在 DATADIR 中创建一个 ****.pid 文件,关闭服务的时候就会删除它;因为上次这里面整个文件夹(包括文件夹中的内容)的所有者被我不小心修改为root了,因此 MySQL 没有权限往其中新建一个 ****.pid 文件 ,因此报了第二个的错误;
- 另外,为什么我一开始可以登陆 MySQL ,却在root用户的时候居然无法进行新建数据库的操作呢?我猜想可能是因为,我之前的文件夹的权限是755,文件的是644的原因;也就是用户组和公共组都可以读取,但无法写入,所以才会报第一个错误!
-
修改的 datadir 的所有者
**注意:**记得把 YOUR_DATADIR 就是我们刚才找到
datadir
$ sudo chown -R mysql:mysql YOUR_DATADIR
-
修改 datadir 里面文件以及文件夹的权限:
建议数据库数据目录的权限为 700 ,文件的为660
- 文件夹权限修改为700 :
$ sudo find YOUR_DATADIR -type d -exec chmod 700 {} \;
文件权限修改为660 :
$ sudo find YOUR_DATADIR -type f -exec chmod 660 {} \;
-
重启MySQL服务
到这里,我们就可以重新再试试
$ sudo /etc/init.d/mysqld restart
如果出现 [OK] ,就快大功告成啦!!
-
重新登陆 MySQL
mysql > create database 57EN; Query OK, 1 row affected Time: 0.001s
终于跳出坑啦,虽然折腾了这么久,但是这让我对 MySQL 有了更深的认识,从之前只知道如何使用 MySQL,到现在明白原来数据库从服务开始它创建一个.pid 文件(MySQL 服务的进程),原来它存放的数据和日志都在它的 DATADIR 中。我想接下来有必要深入了解的日志,遇到问题时,可以透过日志去发现问题,解决问题。
[1] 文件夹权限 755:
在 Linux 系统中,关于文件/文件夹权限,有三类操作对象(所有者、用户组、公共组)各自有3个权限(读、写、执行),Linux 系统希望通过以下数字规则就能快速知道三类操作对象的对应的权限。
其中,4代表读取的权限,2代表写入的权限,1代表执行的权限;
7=4+2+1
同一操作对象的权限的数字相加,例如:
755 的权限代表,所有者的权限有读写、执行;用户组的权限有读取、执行;公共组的权限有读取、执行。
猜你喜欢
-
渤海银行回应“28亿元存款被质押担保”:发现异常,已报案
2021-10-25 -
教师常用的10个自学网站推荐(学生老师常用的学习网站分享)
2021-10-18 -
搜索引擎营销(SEM)中的搜索引擎优化基础知识详解
2021-11-08 -
网站建设与网站运营需要清楚认识的几大误区
2021-11-07 -
ripro子主题jizhi-chlid极致主题cms分类文章模块设置
2021-08-09 -
小白问:SEM方案该如何定制?实操案例讲解
2021-11-08 -
用wordpress搭建B2B网站如何发布产品(不用woocommerce插件就可以实现)
2021-10-29 -
WordPress建站教程(WordPress网站的运行模式图)
2021-11-02 -
wordpress企业网站文章区块使用教程之文件(发文章教程)
2021-10-29 -
建站CMS系统:织梦dedeCm、帝国、人人站rrzcms优缺点比
2021-11-09
-
新网站不被收录的几个原因
2021-08-16 -
网站常用广告代码大全
2021-08-19 -
WordPress零基础新手建站完整教程(手把手教你做woedpress网站)
2021-10-25 -
全村脑中风事件村医被刑拘
2021-10-20 -
小红书就“滤镜景点”一事致歉:将推出踩坑榜类产品
2021-10-18 -
百度SEM竞价推广从0到1账户搭建优化实操分享
2021-11-08 -
重视网名的动态很重要
2021-08-16 -
SEO零基础学习教程
2021-08-16 -
WP菜鸟建站基础教程(使用phpMyAdmin工具操作wordpress数据库教程)
2021-10-30 -
一颗苹果的狂想曲:90后四次创业终逆袭,最惨“批二代”转型开网店
2021-10-26
猜你在找
搜搜资源 » MySQL – 解决root用户下仍然出现权限问题-无法建库
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 搜搜资源
- 2021-05-30Hi,初次和大家见面了,请多关照!