Mysql подключиться к серверу: доступ запрещен для пользователя root@localhost
edit9: Возможно ли, что мне просто не хватает нескольких разрешений на папки? Я действительно, действительно ценю еще несколько предложений..
edit3: так как на это сообщение не было получено достаточного количества ответов, и это абсолютно необходимо, чтобы я приступил к работе как можно скорее, я реконструировал свой пост, чтобы отобразить то, что, по моему мнению, вычтено до сих пор.
Примечание: вход в систему с помощью многочисленных команд просто не работал.
Мой процесс:
- Удален 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.*
загруженный
mysql-5.7.9-osx10.10-x86_64.dmg
с http://dev.mysql.com/downloads/mysql/Установлены
mysql-5.7.9-osx10.9-x86_64.pkg
используя стандартную установку в стандартном месте. (Почему pkg 10.9, в то время как я скачал 10.10? Моя версия OS X 10.10 yosemite)Я получаю уведомление о создании временного пароля для root@localhost. Я записал это отлично.
Здесь начинаются проблемы.
Попытка запустить 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).
После некоторых исследований этого pid-файла я понял, что мне нужно создать my.cnf в / etc, и я сделал это..
cd /usr/local/mysql/support-files/ sudo cp my-default.cnf /etc/my.cnf
Отредактировано и сохранено my.cnf..
cd /etc sudo nano my.cnf
, вошел в линиюpid-file = /var/run/mysqld/mysqld.pid
Создан каталог..
sudo mkdir / var / run / mysqld sudo touch /var/run/mysqld/mysqld.pid sudo chown -R mysql: mysql / var / run / mysqld
Предполагая, что my.cnf теперь должен быть полностью настроен, включая файл pid. Я попытался запустить сервер снова. Однако ничего не изменилось.
Хорошо, тогда я решил, что я попробую изменить пароль, который был временно установлен при установке.
Я остановил сервер MySQL (он не должен быть запущен, но на всякий случай).
sudo /usr/local/mysql/support-files/mysql.server stop
, Это может быть интересно, потому что я оказываюсь в какой-то форме оболочки, в которой я не могу ничего делать вообще. Я должен перезагрузить терминал отсюда.Попытка запустить 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 - это все объясняет