天天看点

默认临时目录带来的权限问题

一客户的本地数据库发现不能对其中的表进行查询,无法进行任何操作,联系我进行排查:

登录数据库:

为什么会出现这样的错误,为什么会报没有权限的错误?由于用户环境还不是很熟悉,先要了解一下用户数据库的安装情况:

用户的数据目录/var/lib/mysql:

可以看到目录的权限是正确的,这个时候在看看数据库的errorlog中有没有开排查的信息:

这里已经很明确了,mysql没有权限对/tmp进行操作:

这个时候我们可以有两种办法,一种为改变/tmp的权限,另一种为改变数据库的临时目录;我采取了修改数据库临时目录的方法:

可以看到用户的tmpdir变量并没有指定,被注释掉,所以数据库会默认指定到/tmp目录;

修改其临时目录到用户的数据目录:

重启mysql后,数据库恢复正常。