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.. У меня нет значений, установленных для baseir/datadir/port/server_id/socket здесь. Возможно, это так? Если да, то какие значения я должен установить здесь?
Другие ошибки, которые регулярно возникают при работе с различными предложениями в Интернете, включают:
Access denied for user [email protected] 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:
Затем создайте файл txt, как описано. Введена команда с моим используемым каталогом и именем файла: 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 для чтения), может быть, ваш установленный сервер вообще не запускается, и у вас есть другой демон (например, установленный через доморощенный)
Проверить ps ax | grep mysql | grep -v grep
- он должен иметь 2 процесса, оба с двоичными в /usr/local/mysql/bin
, если есть другие mysql - это объясняет все