Я работаю на машине * nix и у меня нет root
привилегии.
Я пытаюсь установить mysql локально с помощью этого сообщения в блоге: http://www.thedance.net/~roth/TECHBLOG/localMySQL.html
Однако я застрял в scripts/mysql_install_db
команда.
Когда я запускаю эту команду, я получаю следующую ошибку:
FATAL ERROR: Neither host 'server.address.com' nor 'localhost' could be looked up with
/usr/bin/resolveip
Please configure the 'hostname' command to return a correct hostname.
If you want to solve this at a later stage, restart this script
with the --force option
При дальнейшем копании я обнаружил, что добавление --basedir
решает эту проблему. Но тогда он генерирует следующие ошибки:
$scripts/mysql_install_db --basedir=.
Installing MySQL system tables...2015-07-17 01:38:15 0 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
2015-07-17 01:38:15 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-07-17 01:38:15 0 [Note] ./bin/mysqld (mysqld 5.6.25) starting as process 10281 ...
2015-07-17 01:38:15 10281 [ERROR] Can't find messagefile '/usr/share/mysql/errmsg.sys'
2015-07-17 01:38:15 10281 [Warning] Can't create test file /var/lib/mysql/head.lower-test
2015-07-17 01:38:15 10281 [Warning] Can't create test file /var/lib/mysql/head.lower-test
./bin/mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13 - Permission denied)
2015-07-17 01:38:15 10281 [ERROR] Aborting
2015-07-17 01:38:15 10281 [Note] Binlog end
2015-07-17 01:38:15 10281 [Note]
Когда я добавляю --datadir=myDataDir
(где myDataDir - локальный каталог) генерирует следующую ошибку:
$scripts/mysql_install_db --basedir=. --datadir=myDataDir
Installing MySQL system tables...2015-07-17 01:40:54 0 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
2015-07-17 01:40:54 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-07-17 01:40:54 0 [Note] ./bin/mysqld (mysqld 5.6.25) starting as process 10329 ...
2015-07-17 01:40:54 10329 [ERROR] Can't find messagefile '/usr/share/mysql/errmsg.sys'
Он пытается получить доступ к папкам системного уровня и из-за проблем с разрешениями не работает. Как мне установить его локально. И как мне настроить имя хоста?
Ищите my.cnf
файл конфигурации, который может содержать следующую строку:
lc-messages-dir = /usr/share/mysql
Как вы сказали, mysql не может получить доступ к этому стандартному файлу конфигурации из-за ваших текущих разрешений.
Два возможных решения:
Измените этот параметр на доступный каталог и передайте файл конфигурации в mysql_install_db
$ ./scripts/mysql_install_db --defaults-file=my.cnf --basedir=. --datadir=myDataDir
Используйте --no-defaults, чтобы предотвратить чтение из других файлов конфигурации
$ ./scripts/mysql_install_db --no-defaults --basedir=. --datadir=myDataDir