Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.068 секунд. Запросов: 25.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Невозможно найти mysql.sock
mysql_config может сообщить нам, где должен быть файл mysql.sock, но в моем случае файл не существовал. Поэтому я удалил my.cnf:
sudo rm -rf /etc/my.cnf
Затем перезапустил mysql:
brew services restart mysql
Файл был создан, и теперь mysql работает хорошо.
Поделиться 09 августа 2013 в 09:36
Это нашел для меня:
netstat -ln | grep mysql
Поделиться 09 июня 2015 в 20:36
Файл сокета должен создаваться автоматически при запуске демона MySQL.
Если он не найден, скорее всего, каталог, который должен содержать его, не существует, или какая-то другая проблема файловой системы мешает созданию сокета.
Чтобы узнать, где должен находиться файл, используйте:
% mysqld --verbose --help | grep ^socket
Поделиться 14 апреля 2009 в 17:20
Моя проблема также была с файлом mysql.sock.
Во время установки Drupal мне пришлось сказать, какую базу данных я хочу использовать, но моя база данных не была найдена
mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock
система ищет mysql.sock, но он находится в неправильной директории
все, что вам нужно сделать, это связать его 😉
Мне потребовалось много времени, чтобы найти всю важную информацию, но мне потребовалось даже часов, чтобы узнать, как адаптироваться, но теперь я могу представить результат 😀
ps: если вы хотите быть точно, вам нужно связать ваш /tmp/mysql.sock-file (если он находится в вашей системе также) с директорией, указанной php.ini (или php.default.ini), где pdo_mysql.default_socket=.
Поделиться 27 июня 2013 в 18:42
Я получил точный путь, используя:
netstat -ln | grep -o -m 1 -E '\S*mysqld?\.sock'
Поскольку это возвращает только путь и не требует ввода, вы можете потенциально использовать его в скрипте оболочки.
MySQL должен быть запущен на вашем компьютере, чтобы это работало. Также работает для MariaDB.
Поделиться 05 января 2016 в 22:08
Исходные вопросы, кажется, возникают из путаницы по поводу a) где находится файл, и b) где он ищется (и почему мы не можем найти его там, когда делаем локацию или grep). Я думаю, что суть Alnitak заключалась в том, что вы хотите найти, где он был связан — но grep не покажет вам ссылку, верно? Файл не живет там, так как это ссылка, это просто указатель. Вам все еще нужно знать, где поместить ссылку.
Мой файл sock определенно находится в /tmp, и ОШИБКА, которую я получаю, это поиск его в /var/lib/ (а не только /var), я теперь связан с /var и /var/lib, и я все еще получаю ошибку «Невозможно подключиться к локальному серверу MySQL через сокет ‘var/lib/mysql.sock’ (2)».
Обратите внимание на (2) после ошибки. Я обнаружил на другом потоке, что это означает, что сокет действительно может быть использован, но что-то не так с самим сокетом — поэтому выключить машину — полностью — чтобы сокет закрылся. Затем перезапуск должен исправить это. Я попробовал это, но это не сработало для меня (теперь я спрашиваю, слишком ли быстро я перезапустил? действительно?) Может быть, это будет решением для кого-то другого.
Поделиться 03 мая 2014 в 19:21
Я получаю ту же ошибку на Mac OS X 10.11.6:
ERROR 2002 (HY000): Невозможно подключиться к локальному серверу MySQL через сокет ‘/tmp/mysql.sock’ (2)
После многочисленных мучений и проработок в советах здесь и в связанных вопросах, ни один из которых не решил проблему, я вернулся и удалил установленные папки, и просто сделал brew install mysql .
По-прежнему получаю ту же ошибку с большинством команд, но это работает:
/usr/local/bin/mysqld: готов к подключениям.
Версия: ‘5.7.12’ сокет: ‘/tmp/mysql.sock’ порт: 3306 Homebrew
Поделиться 15 сентября 2016 в 19:33
$ mysqladmin variables | grep sock
Вместо этого попробуйте это, это выведет требуемый результат, избавляясь от несвязанной информации.
Поделиться 28 марта 2014 в 03:02
К сожалению, ни одно из вышеперечисленных не сработало в моем случае. Но, наконец, я нашел решения.
Чтобы найти, где находится файл mysql.sock, просто откройте менеджер xampp, выберите MySQL и нажмите на Настроить справа. В панели конфигурации нажмите Открыть файл конфигурации и просто найдите mysql.sock, нажав на ярлык CMD+F.
В моем случае владелец mysql.sock был изменен, и мне пришлось снова изменить его на корневой администратор с помощью: chmod root:admin mysql.sock
После этого к базе данных был получен доступ.
Поделиться 21 мая 2018 в 13:23
Чтобы обновить базу данных локации, я запустил
/usr/libexec/locate.updatedb
Поделиться 10 марта 2012 в 13:15
Я не смог найти mysql socket, поэтому переустановил mysql server (все таблицы и настройки phpmyadmin были сохранены). Вот команды:
sudo apt-get install mysql-server
2) Следуйте шагам настройки терминала
3) Проверить статус: (Должно вернуть «Active: active (running)»)
Поделиться 08 июня 2017 в 08:19
Я не могу помочь с вопросом #1, но чтобы обновить файл базы данных locate , запустите:
updatedb
Mysql sock где находится
Переменная окружения TMPDIR содержит полное имя каталога, в котором в MySQL хранит временные файлы. Если TMPDIR не установлена, то MySQL использует каталог, заданный в системе по умолчанию (обычно это `/tmp' или `/usr/tmp'). Если файловая система, в которой находится каталог временных файлов, слишком мала, то следует, отредактировав safe_mysqld , присвоить TMPDIR значение, указывающее на каталог в «более просторной» файловой системе! Временный каталог можно также задавать с помощью опции —tmpdir к mysqld .
Все временные файлы MySQL создает как скрытые; таким образом гарантируется, что временные файлы будут удалены, если mysqld умрет. Недостаток использования скрытых файлов в том, что не будут видны большие временные файлы, забирающие место в файловой системе, где расположен каталог временных файлов.
При сортировке ( ORDER BY или GROUP BY ) MySQL обычно использует один или два временных файла. Максимальный размер требующегося для этого пространства на диске составляет:
(размер сортируемых данных + sizeof(указатель базы данных)) * количество совпавших записей * 2
sizeof(указатель базы данных) обычно равен 4, но со временем для очень больших таблиц может увеличиться.
Для некоторых запросов SELECT MySQL также создает временные SQL-таблицы. Они не скрытые и имеют имена вида `SQL_*'.
ALTER TABLE создает временную таблицу в одном каталоге с исходной таблицей.
Mysql sock где находится
Если возникают проблемы с тем, что кто угодно может удалить коммуникационный сокет MySQL `/tmp/mysql.sock', то в большинстве версий Unix можно защитить содержимое `/tmp', установив на каталоге «липучий» (sticky) бит. Войдите в систему как пользователь root и выполните следующую команду:
shell> chmod +t /tmp
Это защитит ваш каталог `/tmp': теперь удалять в нем файлы смогут только их владельцы или суперпользователь ( root ).
Проверить, установлен ли «липучий» (sticky) бит, можно, выполнив ls -ld /tmp . Если последним битом прав является t , то бит установлен.
Изменить путь к каталогу, где MySQL открывает сокет-файл, можно, воспользовавшись одним из следующих способов:
-
Укажите путь в глобальном или локальном файле опций. Например, поместите в `/etc/my.cnf':
[client] socket=path-for-socket-file [mysqld] socket=path-for-socket-file
Проверить, работает ли сокет, можно следующей командой:
shell> mysqladmin --socket=/path/to/socket version