Кажется, что на машине 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
не могу прочитать /usr/share/mysql/english/errmsg.sys
даже если разрешения открыты для его чтения, и на самом деле обычный пользователь, входящий в систему, может читать файл (с wc
). Кроме того, MySQL не ведет журналы:
- 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 ..
Что может заставить этого пользователя не иметь доступа ни к чему? Что я могу с этим поделать?
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.html и https://dev.mysql.com/doc/refman/5.7/en/error-message-language.html