Mysql подключиться к серверу: доступ запрещен для пользователя root@localhost

edit9: Возможно ли, что мне просто не хватает нескольких разрешений на папки? Я действительно, действительно ценю еще несколько предложений..

edit3: так как на это сообщение не было получено достаточного количества ответов, и это абсолютно необходимо, чтобы я приступил к работе как можно скорее, я реконструировал свой пост, чтобы отобразить то, что, по моему мнению, вычтено до сих пор.

Примечание: вход в систему с помощью многочисленных команд просто не работал.

Мой процесс:

  1. Удален mysql, выполняющий следующие команды (я что-нибудь забыл?):

sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/MySQL* rm -rf ~/Library/PreferencePanes/MySQL* sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* sudo rm -rf /var/db/receipts/com.mysql.*

  1. загруженный mysql-5.7.9-osx10.10-x86_64.dmg с http://dev.mysql.com/downloads/mysql/

  2. Установлены mysql-5.7.9-osx10.9-x86_64.pkg используя стандартную установку в стандартном месте. (Почему pkg 10.9, в то время как я скачал 10.10? Моя версия OS X 10.10 yosemite)

  3. Я получаю уведомление о создании временного пароля для root@localhost. Я записал это отлично.

Здесь начинаются проблемы.

  1. Попытка запустить MySQL-сервер через терминал с: sudo /usr/local/mysql/support-files/mysql.server start возвращает: Starting MySQL .. ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).

  2. После некоторых исследований этого pid-файла я понял, что мне нужно создать my.cnf в / etc, и я сделал это.. cd /usr/local/mysql/support-files/ sudo cp my-default.cnf /etc/my.cnf

  3. Отредактировано и сохранено my.cnf.. cd /etc sudo nano my.cnf, вошел в линию pid-file = /var/run/mysqld/mysqld.pid

  4. Создан каталог..

    sudo mkdir / var / run / mysqld sudo touch /var/run/mysqld/mysqld.pid sudo chown -R mysql: mysql / var / run / mysqld

  5. Предполагая, что my.cnf теперь должен быть полностью настроен, включая файл pid. Я попытался запустить сервер снова. Однако ничего не изменилось.

Хорошо, тогда я решил, что я попробую изменить пароль, который был временно установлен при установке.

  1. Я остановил сервер MySQL (он не должен быть запущен, но на всякий случай). sudo /usr/local/mysql/support-files/mysql.server stop, Это может быть интересно, потому что я оказываюсь в какой-то форме оболочки, в которой я не могу ничего делать вообще. Я должен перезагрузить терминал отсюда.

  2. Попытка запустить MySQL в безопасном режиме с sudo mysql_safe --skip-grant-tables возвращает:

    151110 10:28:10 mysqld_safe Регистрация в '/usr/local/var/mysql/Robs-MacBook-Pro.local.err'. 151110 10:28:10 mysqld_safe Запуск демона mysqld с базами данных из /usr/local/var/mysql 151110 10:28:10 mysqld_safe mysqld из файла pid /usr/local/var/mysql/Robs-MacBook-Pro.local.pid закончился

Итак, еще раз, это все об этом файле pid.. У меня нет значений для basedir / datadir / port / server_id / socket здесь.. Возможно, это так? Если это так, какие значения я должен установить здесь?

Другие ошибки, которые регулярно возникают, когда я возлюсь с различными предложениями в Интернете, включают: Access denied for user root@localhost using password: yes/no или же Cant connect to mysql server through socket ..

/usr/local/var/mysql/data/mysqld.local.err последние несколько строк:

2015-11-17T08:13:55.755115Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-11-17T08:13:55.756291Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2015-11-17T08:13:55.756310Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2015-11-17T08:13:55.780792Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2015-11-17T08:13:55.781750Z 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.7.9) starting as process 94 ...
2015-11-17T08:13:55.796438Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
2015-11-17T08:13:55.802783Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-11-17T08:13:55.802816Z 0 [Note] InnoDB: Uses event mutexes
2015-11-17T08:13:55.802826Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2015-11-17T08:13:55.802834Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-11-17T08:13:55.804723Z 0 [Note] InnoDB: Number of pools: 1
2015-11-17T08:13:55.808009Z 0 [Note] InnoDB: Using CPU crc32 instructions
2015-11-17T08:13:55.821713Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2015-11-17T08:13:55.843514Z 0 [Note] InnoDB: Completed initialization of buffer pool
2015-11-17T08:13:55.898365Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
2015-11-17T08:13:55.935027Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2015-11-17T08:13:55.935222Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2015-11-17T08:13:55.950640Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2015-11-17T08:13:55.952035Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
2015-11-17T08:13:55.952061Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
2015-11-17T08:13:55.952538Z 0 [Note] InnoDB: Waiting for purge to start
2015-11-17T08:13:56.070486Z 0 [Note] InnoDB: 5.7.9 started; log sequence number 2471474
2015-11-17T08:13:56.070792Z 0 [Note] InnoDB: Loading buffer pool(s) from /usr/local/mysql-5.7.9-osx10.9-x86_64/data/ib_buffer_pool
2015-11-17T08:13:56.071268Z 0 [Note] InnoDB: not started
2015-11-17T08:13:56.072953Z 0 [Note] Plugin 'FEDERATED' is disabled.
2015-11-17T08:13:56.075825Z 0 [Note] InnoDB: Buffer pool(s) load completed at 151117  9:13:56
2015-11-17T08:13:56.086709Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
2015-11-17T08:13:56.112666Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2015-11-17T08:13:56.112759Z 0 [Note] IPv6 is available.
2015-11-17T08:13:56.112804Z 0 [Note]   - '::' resolves to '::';
2015-11-17T08:13:56.113081Z 0 [Note] Server socket created on IP: '::'.
2015-11-17T08:13:56.180223Z 0 [Note] Event Scheduler: Loaded 0 events
2015-11-17T08:13:56.180406Z 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.7.9'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)

Итог к хорошему предложению от Vasfed: Затем создайте текстовый файл, как описано. Введена команда с моим использованным каталогом и именем файла: mysqld_safe --init-file=/home/mysql-init & Который возвращает: Robs-MacBook-Pro:home leroyklotz$ 151118 09:25:23 mysqld_safe Logging to '/usr/local/var/mysql/Robs-MacBook-Pro.local.err'. 151118 09:25:23 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql /usr/local/bin/mysqld_safe: line 129: /usr/local/var/mysql/Robs-MacBook-Pro.local.err: Permission denied rm: /tmp/mysql.sock: Permission denied /usr/local/bin/mysqld_safe: line 166: /usr/local/var/mysql/Robs-MacBook-Pro.local.err: Permission denied 151118 09:25:23 mysqld_safe mysqld from pid file /usr/local/var/mysql/Robs-MacBook-Pro.local.pid ended /usr/local/bin/mysqld_safe: line 129: /usr/local/var/mysql/Robs-MacBook-Pro.local.err: Permission denied

Предоставление разрешений для Robs-MacBook-Pro.local.err и mysql.sock (который до сих пор называется mysql.sock.lock, имеет ли это значение?) Не решает полностью проблему, теперь сообщение об ошибке гласит:

Robs-MacBook-Pro:~ leroyklotz$ mysqld_safe --init-file=/home/mysql-init &
[1] 747
Robs-MacBook-Pro:~ leroyklotz$ 151119 09:13:51 mysqld_safe Logging to '/usr/local/var/mysql/Robs-MacBook-Pro.local.err'.
151119 09:13:51 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
rm: /tmp/mysql.sock: Permission denied
151119 09:13:53 mysqld_safe mysqld from pid file /usr/local/var/mysql/Robs-MacBook-Pro.local.pid ended

1 ответ

Не создавайте / трогайте файл pid самостоятельно, он предназначен для создания самим демоном, чтобы указать его pid

На macos mysql должен работать без my.cnf

Прежде всего, загляните в логи mysqld на /usr/local/var/mysql/Robs-MacBook-Pro.local.err,

Странное местоположение, кстати, по умолчанию в /usr/local/mysql/data/<your_hostname>.err (для чтения нужно sudo), возможно, ваш установленный сервер вообще не запускается, и у вас запущен другой демон (например, установлен через homebrew)

Проверьте ps ax | grep mysql | grep -v grep - он должен иметь 2 процесса, оба с двоичными файлами в /usr/local/mysql/bin, если есть другие mysql - это все объясняет

Другие вопросы по тегам