MySQL 权限错误

MySQL 权限错误

看来在 Ubuntu 14.04 机器上,用户mysql无法访问任何东西。它既没有写入日志,也没有读取文件。见证:

 - bruno():mysql$ cat /etc/passwd | grep mysql
mysql:x:116:127:MySQL Server,,,:/nonexistent:/bin/false

 - bruno():mysql$ sudo mysql_install_db
Installing MySQL system tables...
140818 18:16:50 [ERROR] Can't read from messagefile '/usr/share/mysql/english/errmsg.sys'
140818 18:16:50 [ERROR] Aborting
140818 18:16:50 [Note] 

Installation of system tables failed!  Examine the logs in
/var/lib/mysql for more information.

...boilerplate trimmed...

 - bruno():mysql$ ls -la /usr/share/mysql/english/errmsg.sys
-rw-r--r-- 1 root root 59535 Jul 29 13:40 /usr/share/mysql/english/errmsg.sys
 - bruno():mysql$ wc -l /usr/share/mysql/english/errmsg.sys
16 /usr/share/mysql/english/errmsg.sys

这里我们看到,虽然权限开放,但mysql无法读取,而实际上普通登录用户可以读取该文件(使用)。此外,MySQL 不会写入任何日志:/usr/share/mysql/english/errmsg.syswc

 - bruno():mysql$ ls -la /var/log/mysql
total 8
drwxr-s---  2 mysql adm    4096 Aug 18 16:10 .
drwxrwxr-x 18 root  syslog 4096 Aug 18 16:10 ..

什么原因可能导致该用户无法访问任何内容?我能做什么呢?

答案1

mysql_install_db --no-defaults --basedir=<your base dir> --datadir=<your data dir> --language=<your language dir such as /usr/share/mysql/english/> --lc-messages-dir=<location>

请尝试按上述方法运行,并确保 mysql 对每个文件夹都有正确的权限。她的是参考https://dev.mysql.com/doc/refman/5.7/en/mysql-install-db.htmlhttps://dev.mysql.com/doc/refman/5.7/en/error-message-language.html

答案2

因此,我重新启动旧的 MYSQL 服务器后就出现了这个错误,因为文件 errmsg.sys 被删除了。

要修复此问题,您需要有一个与 MySQL 所需格式完全匹配的 errmsg.sys 文件(我们使用了备份)。错误消息可能意味着某些变量无法初始化。

相关内容