Вопрос

Я пытаюсь настроить MySQL на mac os 10.6, используя Homebrew by brew install mysql 5.1.52.

Все идет хорошо, и я также добиваюсь успеха в mysql_install_db.
Однако, когда я пытаюсь подключиться к серверу с помощью:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin -u root password 'mypass'

Я получаю:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin: connect to server at 'localhost' 
failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'

Я пытался получить доступ mysqladmin or mysql using -u root -proot также,
но это не работает ни с паролем, ни без него.

Это совершенно новая установка на совершенно новом компьютере, и, насколько я знаю, новая установка должна быть доступна без пароля root.Я тоже пытался:

/usr/local/Cellar/mysql/5.1.52/bin/mysql_secure_installation

но я также получаю

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Это было полезно?

Решение

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

Использованное пиво remove & cleanup команды, выгрузившие launchctl скрипт, затем удалил каталог mysql в /usr/local/var, удалил мои существующие /etc/my.cnf (оставьте это на ваше усмотрение, если оно применимо) и launchctl plist

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

Шаг за шагом:

brew remove mysql

brew cleanup

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

sudo rm -rf /usr/local/var/mysql

Затем я начал с нуля:

  1. установленный mysql с brew install mysql
  2. выполнил команды, предложенные brew:(см. примечание:ниже)

    unset TMPDIR
    
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
    
  3. Запустите mysql с помощью mysql.server start команда, чтобы иметь возможность войти в нее

  4. Использовал альтернативный сценарий безопасности:

    /usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
    
  5. Последовал за launchctl раздел из выходных данных скрипта brew package, такой как,

    #start
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    
    #stop
    launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    
  6. Бум.

Надеюсь, это кому-нибудь поможет!

Примечание: тот самый --force немного о brew cleanup также будет произведена очистка устаревших кегов, думаю, это новая функция домашнего приготовления.

Обратите внимание на второе: комментатор говорит, что шаг 2 не требуется.Я не хочу это тестировать, так что YMMV!

Другие советы

Вот подробные инструкции, комбинирующие избавиться от всего mysql с вашего Mac, а затем устанавливают его, как Sodorner писал выше:

Удалить MySQL полностью за Технологическая лаборатория

  • ps -ax | grep mysql
  • остановиться и kill Любые процессы MySQL
  • sudo rm /usr/local/mysql
  • sudo rm -rf /usr/local/var/mysql
  • sudo rm -rf /usr/local/mysql*
  • sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • sudo rm -rf /Library/StartupItems/MySQLCOM
  • sudo rm -rf /Library/PreferencePanes/My*
  • launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • редактировать /etc/hostconfig и удалить линию MYSQLCOM=-YES-
  • rm -rf ~/Library/PreferencePanes/My*
  • sudo rm -rf /Library/Receipts/mysql*
  • sudo rm -rf /Library/Receipts/MySQL*
  • sudo rm -rf /private/var/db/receipts/*mysql*
  • sudo rm -rf /tmp/mysql*
  • Попробуйте запустить mysql, это не должно работать

Brew Установить MySQL на пользователя Sodorner из этого Переполнение стека отвечать

  • brew doctor и исправить любые ошибки
  • brew remove mysql
  • brew cleanup
  • brew update
  • brew install mysql
  • unset TMPDIR
  • mysql_install_db --verbose --user=кто я--basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
  • mysql.server start
  • Запустите команды Brew предлагают, добавьте mysql на launchctl так что он автоматически запускается при запуске

mysql теперь должен работать и работать все время, как и ожидалось

Godspeed.

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

Если сервер mysqld уже запущен на вашем Mac, сначала остановите его с помощью:

launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist

Запустите сервер mysqld с помощью следующей команды, которая позволяет любому пользователю войти в систему с полными правами доступа.

mysqld_safe --skip-grant-tables

Тогда беги mysql -u root который теперь должен позволить вам успешно войти в систему без пароля.Следующая команда должна сбросить все пароли root.

UPDATE mysql.user SET Password=PASSWORD('NewPassword') WHERE User='root'; FLUSH PRIVILEGES;

Теперь, если вы отключите текущую копию mysqld_safe и запустите ее снова без опции skip-grant-tables, вы сможете войти в систему с помощью mysql -u root -p и новый пароль, который вы только что установили.

Если Brew установлен MySQL 5.7, процесс немного отличается от предыдущих версий. Чтобы сбросить пароль корневого пароля, выполните следующие действия:

sudo rm -rf /usr/local/var/mysql
mysqld --initialize

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

mysql.server start
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'my-new-password';" | mysql -uroot --password=TEMPORARY_PASSWORD

Хорошо, у меня была такая же проблема и решила его. По какой-то причине сценарий MySQL_Secure_Installation не работает из коробки при использовании домелки для установки MySQL, поэтому я сделал это вручную. На CLI ввод:

mysql -u root

Это должно заставить вас в mysql. Теперь сделайте следующее (взято из mysql_secure_installation):

UPDATE mysql.user SET Password=PASSWORD('your_new_pass') WHERE User='root';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'
DROP DATABASE test;
FLUSH PRIVILEGES;

Теперь выйдите и вернемся в MySQL с: mysql -u root -p

У меня была та же проблема только сейчас. если ты brew info mysql и следуйте шагам, похоже, как корневой пароль должен быть new-password если я правильно помню. Я видел то же самое, что вы видите. эта статья помог мне больше всего.

Оказалось, у меня не было Любые Счета созданы для меня. Когда я вошел в систему после запуска mysqld_safe и сделал select * from user; Ни один строки не были возвращены. Я открыл mysqlworkbench с mysqld_safe работает и добавлен root счет со всеми причинами, которые я ожидал. Это хорошо работает для меня сейчас.

Если MySQL уже установлен

Остановите MySQL полностью.

  1. mysql.server stop <- может понадобиться редактирование на основе вашей версии
  2. ps -ef | grep mysql <- перечислены процессы с MySQL в их имени
  3. kill [PID] <- Убить процессы PID

Удалить файлы. Инструкции выше хорошие. Я добавлю:

  1. sudo find /. -name "*mysql*"
  2. Используя свое суждение, rm -rf Эти файлы. Обратите внимание, что многие программы имеют драйверы для MySQL, которые вы не хотите удалять. Например, не удаляйте вещи в каталоге установки PHP. Удалите вещи в свой каталог MySQL.

Установить

Надеюсь, у вас есть домощь. Если нет, загрузите его.

Мне нравится бежать заваривать как root, но я не думаю, что вы должны. Редактировать 2018: вы больше не можете запустить варево

  1. sudo brew update
  2. sudo brew install cmake <- зависимость для mysql, полезная
  3. sudo brew install openssl <- зависимость для mysql, полезная
  4. sudo brew info mysql <- Снимите через это ... Это дает вам некоторое представление о том, что происходит дальше
  5. sudo brew install mysql --with-embedded; say done <- Устанавливает MySQL с встроенным сервером. Говорит вам, когда он закончится (моя установка заняла 10 минут)

После

  1. sudo chown -R mysql /usr/local/var/mysql/ <- mysql не будет работать для меня, пока я не провел эту команду
  2. sudo mysql.server start <- еще раз, точный синтаксис может варьироваться
  3. Создайте пользователей в mysql (http://dev.mysql.com/doc/refman/5.7/ruete-user.html.). Не забудьте добавить пароль для пользователя root.

Brew Info Mysql.

mysql: stable 5.6.12 (bottled)
http://dev.mysql.com/doc/refman/5.6/en/
Conflicts with: mariadb, mysql-cluster, percona-server
/usr/local/Cellar/mysql/5.6.12 (9363 files, 353M) *
  Poured from bottle
From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/mysql.rb
==> Dependencies
Build: cmake
==> Options
--enable-debug
    Build with debug support
--enable-local-infile
    Build with local infile loading support
--enable-memcached
    Enable innodb-memcached support
--universal
    Build a universal binary
--with-archive-storage-engine
    Compile with the ARCHIVE storage engine enabled
--with-blackhole-storage-engine
    Compile with the BLACKHOLE storage engine enabled
--with-embedded
    Build the embedded server
--with-libedit
    Compile with editline wrapper instead of readline
--with-tests
    Build with unit tests
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

To connect:
    mysql -uroot

To reload mysql after an upgrade:
    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

MySQL.Service Start.

. ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).

или mysql -U root

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

Я ищу решение в течение некоторого времени, но не могу решить мою проблему. Я попробовал несколько решений в StackoverFlow.com, но это не помогает мне.

TL; доктор

MySQL Server может не работать после установки с помощью Brew. Пытаться brew services start mysql или просто mysql.server start Если вы не хотите, чтобы MySQL запустить в качестве фонового сервиса.

Полный рассказ:

Я только что установил MySQL (Custary) 5.7.17 на новом MacBook Pro запустить Sierra, а также получить ошибку при запуске mysql_secure_installation:

Securing the MySQL server deployment.

Enter password for user root: 
Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Чего-чего?

Согласно информации об установке из варевой mysql_secure_installation Должен подсказать мне ... Закрепить установку. Я полагал, что сервер MySQL может не работать и правильно. Бег brew services start mysql а потом mysql_secure_installation работал как шарм.

Попробуйте, предоставляя команду разрешения гранта MySQL

Ни один из вышеперечисленных ответов (ни одной из десятков ответов, которые я видел в другом месте), работал для меня при использовании Brew с самой последней версией MySQL и Yosemite. Я закончил устанавливать другую версию MySQL через Brew.

Указание старой версии, сказав (например)

brew install mysql56

Работал для меня. Надеюсь, это поможет кому-то. Это была неприятная проблема, которую я чувствовал, что я застрял навсегда.

Вот обновление для MySQL 5.7

Bash --version GNU BASH, версия 4.4.12 (1) -релез (x86_64-Apple-darwin17.0.0) Copyright (C) 2016 Free Software Foundation, Inc. лицензия GPLV3 +: GNU GPL версия 3 или более что это бесплатное программное обеспечение; Вы можете изменить и перераспределить его. Нет гарантии, в той степени, в которой разрешено законом. # ================================================ Brew --version Homebrew 1.7.6 / Homebrew-Core (Git Revision EEB08; последний фиксатор 2018-09-27) Домашний / домовещная бочка (Git Revision C9F62; последний Champ 2018-09-27) # ==================================================================== =========================== MySQL --version MySQL Ver 14.14 Распределение 5.7.23, для OSX10.13 (x86_64) с использованием editline Wrapper # = ================================================= System_Profiler SPSoftWaredatatype Программное обеспечение: Обзор системы System: System: MacOS 10.13.3 (17D47) Версия для ядра: DARWIN 17.4.0 Объем загрузки: Macintosh HD Режим загрузки: Нормальное имя компьютера: EdisonMachomebj Имя пользователя: Edison (Edison) Безопасная виртуальная память: включена система защиты целостности: отключено с момента загрузки: 6 дней 23:13.
Brew удалить MySQL @ 5.7 Brew Cleanup MV / USR / Local / var / mysql /usr/local/var/mysql.bak brew Установить mysql @ 5.7 RM -RF / usr / local / var / mysql # ======= ================================== mysqld-initialize 2018-09-28T04: 54: 06.526061Z 0 [ПРЕДУПРЕЖДЕНИЕ ] Timestamp с неявным значением по умолчанию устарело. Пожалуйста, используйте - explicit_defaults_for_timestamp server server (см. Документацию для более подробной информации). 2018-09-28T04: 54: 06.542625Z 0 [ПРЕДУПРЕЖДЕНИЕ] Настройка Shree_case_Table_Names = 2 Поскольку файловая система для / usr / local / var / mysql / нечувствителен к регистру 2018-09-28T04: 54: 07.096637z 0 [Предупреждение] InnoDB: Новые файлы журнала созданы, LSN = 45790 2018-09-28T04: 54: 07.132950Z 0 [Предупреждение] InnoDB: Создание зарубежных ключевых системных таблиц ограничений. 2018-09-28T04: 54: 07.196824Z 0 [Предупреждение] Нет существующих UUID, поэтому мы предполагаем, что это первый раз, когда этот сервер запущен. Создание нового UUID: 87CF2F10-C2DA-11E8-AC2D-BA163DF10130. 2018-09-28T04: 54: 07.224871Z 0 [Предупреждение] GTID Таблица не готова к использованию. Таблица 'mysql.gtid_execured "не может быть открыта. 2018-09-28T04: 54: 07.366688Z 0 [ПРЕДУПРЕЖДЕНИЕ] Сертификат CA CA.PEM подписан на себя. 2018-09-28T04: 54: 07.457954Z 1 [Примечание] Временный пароль генерируется для root @ localhost: KQ3K = JR8; GQZ # =============================================================================== ===================== mysql_secure_Installation -uroot -p "kq3k = jr8; gqz" mysql_secure_installation: [Предупреждение] Использование пароля в интерфейсе командной строки может быть небезопасно. Защита развертывания сервера MySQL. Существующий пароль для корня учетной записи пользователя истек. Пожалуйста, установите новый пароль. Новый пароль: повторно введите новый пароль: Validate Plange Plugin можно использовать для тестирования паролей и повышения безопасности. Он проверяет прочность пароля и позволяет пользователям устанавливать только те пароли, которые достаточно безопасны. Хотите настроить Validate Plangin Plugin? Нажмите y | y для да, любой другой ключ для NO: N, используя существующий пароль для корня. Измените пароль для рута? ((Нажмите y | y для да, любой другой ключ для NO): y Новый пароль: повторно введите новый пароль: по умолчанию установка MySQL имеет анонимю пользователя, что позволяет кому-либо войти в MySQL без необходимости иметь учетную запись пользователя Создан для них. Это предназначено только для тестирования, и сделать установку немного более гладкой. Вы должны удалить их перед перемещением в производственную среду. Удалить анонимных пользователей? (Нажмите y | Y для да, любой другой ключ для нет) : Y УСПЕХА. Обычно корнем должен быть разрешен только для подключения от «localhost». Это гарантирует, что кто-то не может угадать в корневом пароле из сети. Запретить логин root? (Нажмите y | y для да, любой другой ключ для нет ): N ... Пропуск. По умолчанию MySQL поставляется с базой данных с именем «Test», которую любой может получить доступ. Это также предназначено только для тестирования и должно быть удалено перед перемещением в производственную среду. Удалить тестовую базу данных и доступ к Это? (Нажмите y | y для да, любой другой ключ для no): n ... пропуская. Перезагрузка привилегии E Tables гарантирует, что все изменения сделаны до сих пор, будут немедленно вступить в силу. Перезагрузить таблицы привилегии сейчас? (Нажмите y | Y для да, любой другой ключ для нет): Y Успех. Все сделано!

У меня была та же проблема после того, как я попытался перезапустить MySQL.

Я использую следующие два псевдонима в моем .profile для удобства

alias mysql-stop='launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'
alias mysql-start='launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist' 

После остановки MySQL, а затем пытаться перезапустить, я испытывал проблему, которую вы имели. Я посмотрел на нагрузку на Latchctl, и она сообщила о том, что «ничего не найдено для загрузки».

После быстрого поиска я нашел это ..

http://www.daveoncode.com/2013/02/01/solve-mac-osx-launchctl-nothing-found-to-load-error/

Так что я обновил меня mysql-start псевдоним следующим образом

alias mysql-start='launchctl load -w -F ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'

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

«Базовый путь» для MySQL хранится в /etc/my.cnf который не обновляется, когда вы делаете Brew Upgrade. Просто откройте его и измените значение BustiR

Например, изменить это:

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.13

Чтобы указать на новую версию:

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.19

Перезапустите MySQL с:

mysql.server start
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top