it-swarm.com.ru

Терминал Mac ОШИБКА 2002 (HY000): Не удается подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock' (2)

Я следую этому руководству, чтобы настроить веб-сайт Wordpress в облаке Google: https://googlecloudplatform.github.io/appengine-php-wordpress-starter-project/

  • Я работаю на Mac с OSX 10.10.3. 
  • Я установил PHP SDK для программного обеспечения Google App Engine.

Сейчас я пытаюсь установить сервер MySQL на моем Mac. Я загрузил Mac OS X 10.9 (x86, 64-разрядная версия), сжатый архив TAR здесь: http://dev.mysql.com/downloads/mysql/

Как говорится в учебнике, я управляю следующей строкой в ​​моем терминале:

/Users/myuser/Downloads/mysql-5.6.24-osx10.9-x86_64/bin/mysql/mysql -u root -p mypassword

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

ОШИБКА 2002 (HY000): Невозможно подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock' (2)

4
Robbert

Это распространенная ошибка, вы можете исправить это так 

enter image description here

Вы можете удалить пароль root с помощью этой последовательности команд:

$ mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("") where User='root';
mysql> flush privileges;
mysql> quit
3
Diogo Cunha

Похоже, сервер Mysql еще не запущен.

mysqld stop
mysql.server start

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

20
Prakhar Agarwal

OSX 10.13.2 High Sierra
mariadb 10.2.12

Я получил ту же ошибку, когда попытался использовать mariadb, которую я установил с помощью homebrew. Первое, что я сделал после установки:

$ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through 
socket '/tmp/mysql.sock' (2)

Для устранения неполадок я сделал:

~$ which mysql
/usr/local/mysql/bin/mysql

а потом я попробовал:

~$ mysql -u 7stud -p test
 Enter password:
 ERROR 2002 (HY000): Can't connect to local MySQL server 
 through socket '/tmp/mysql.sock' (2)

а также:

~$ mysql -u -p
ERROR 2002 (HY000): Can't connect to local MySQL server 
through socket '/tmp/mysql.sock' (2) 

Решение:

~$ mysql.server start
Starting MySQL
.180127 00:24:48 mysqld_safe Logging to '/usr/local/var/mysql/MyMBP.home.err'.
180127 00:24:48 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
 SUCCESS! 

~$ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.5.5-10.2.12-MariaDB Homebrew

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Хорошо, идем:

mysql> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.01 sec)

mysql> CREATE DATABASE my_db;
Query OK, 1 row affected (0.00 sec)

mysql> use my_db;
Database changed

mysql> show tables;
Empty set (0.01 sec)

mysql> CREATE TABLE people (
    -> id INT(12) not null auto_increment primary key, 
    -> name VARCHAR(40), 
    -> info VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.03 sec)

mysql> describe people;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(12)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(40)  | YES  |     | NULL    |                |
| info  | varchar(100) | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

mysql> INSERT INTO people(name, info) VALUES("Joe", "a b c") ;
Query OK, 1 row affected (0.01 sec)

mysql> select * from people;
+----+------+-------+
| id | name | info  |
+----+------+-------+
|  1 | Joe  | a b c |
+----+------+-------+
1 row in set (0.00 sec)

mysql> INSERT INTO people(name, info) VALUES("Beth", "1 2 3") ;
Query OK, 1 row affected (0.00 sec)

mysql> select * from people;
+----+-------+-------+
| id | name  | info  |
+----+-------+-------+
|  1 | Joe   | a b c |
|  2 | Beth  | 1 2 3 |
+----+-------+-------+
2 rows in set (0.00 sec)

mysql> quit
Bye

~$ mysql.server stop
Shutting down MySQL
. SUCCESS! 
~$ 

Лучшие инструкции, которые я нашел для ручного запуска и остановки mariadb, как это ни парадоксально, в Запуск и остановка MariaDB автоматически :

У вас есть возможность запустить сервер mysqld несколькими разными пути:

  1. Запустите или вызовите сам mysqld. Пример этого описан в разделе Запуск MariaDB из исходного каталога.

  2. Используйте скрипт запуска mysqld_safe

  3. Используйте скрипт запуска mysql.server

Сценарий mysql.server запускает mysqld, сначала переключаясь на MariaDB установить каталог и затем вызвать mysqld_safe. Добавление соответствующего Пользовательская строка в группу [mysqld] в вашем файле my.cnf приведет к сервер для запуска от имени этого пользователя.

Если вы установили MariaDB в нестандартном месте, вам может понадобиться отредактировать скрипт mysql.server, чтобы заставить его работать правильно.

mysql.server работает как стандартный сценарий инициализации в стиле SysV. Как таковой ты используйте скрипт с аргументами start и stop следующим образом:

mysql.server start
mysql.server stop
5
7stud

Ошибка: Mac terminal ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Как я решил это на моей настройке MAC + MAMP (pro):

Sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

Который создает символическую ссылку из /tmp/mysql.sock на MAMP mysql.sock

Теперь перезапустите MAMP, и ошибка не должна возникать снова.

4
desloovere_j

Если вы установили Mysql через Homebrew, просто запустите команду ниже, это будет полезно.

заваривать услуги запуска MySQL

1
Long Nguyen

Вы можете попытаться переключить версию MySQL.

Ниже приведена инструкция по использованию HomeBrew на Mac.

Сначала перечислите все версии mysql:

$ brew list --versions mysql 

Переключиться на старую версию:

$ brew services stop mysql
$ brew switch mysql 5.7.20
$ brew services start mysql
1
Đỗ Ngọc Hoan

Эта работа для меня, просто удалите файл $ rm /tmp/mysql.sock Затем $ brew services mariadb restart

0
Agus Sudarmanto

да, у меня тоже работает .... но я не понимаю: в обоих файлах php.ini conf (Apache и php из MAMP) путь к сокету хорош: socket=/Applications/MAMP/tmp/mysql/mysql.sockso, почему до сих пор ищу /tmp/mysql.sock ???

Спасибо всем, кто может "eclairer ma lanterne!"

0
nina