MySQL PID завершен (не может запустить MySQL)
У меня есть чистая установка MySQL (mysql-5.5.24-osx10.6-x86_64). Я нахожусь на Lion (OS 10.7.4) с Mac Pro Quad Core. Я установил MySQL установщик графического интерфейса, а также установил панель pref и элемент запуска.
Однако, когда я бегу:
sudo ./bin/mysqld_safe
Я получаю это сообщение:
120515 17:58:19 mysqld_safe Logging to '/usr/local/mysql-5.5.24-osx10.6-x86_64/data/Dannys-Mac-Pro.local.err'.
120515 17:58:19 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.5.24-osx10.6-x86_64/data
120515 17:58:20 mysqld_safe mysqld from pid file /usr/local/mysql-5.5.24-osx10.6-x86_64/data/Dannys-Mac-Pro.local.pid ended
Я также не могу запустить MySQL из панели настроек.
Вот что я попробовал до сих пор, основываясь на часах поиска в Google и сегодняшних исследованиях:
Проблемы с разрешениями?
Это:
cd /usr/local
sudo chown mysql mysql
sudo chown mysql mysql-5.5.24-osx10.6-x86_64
sudo chown _mysql mysql
sudo chown _mysql mysql-5.5.24-osx10.6-x86_64
а также
sudo chown -R /usr/local/mysql-5.5.24-osx10.6-x86_64/
sudo chown -R /usr/local/mysql
Это:
sudo chown -R root:wheel /Library/StartupItems/MySQLCOM
Проблемы со ссылками?
Это:
в /usr/local/mysql/support-files/mysql.server - я сделал:
basedir="/usr/local/mysql"
datadir="/usr/local/mysql/data"
В файле /etc/rc.common добавьте следующую строку в конце: / usr / local / mysql / bin / mysqld_safe --user=mysql &
Это:
sudo ln -s /usr/local/mysql-5.5.24-osx10.6-x86_64 /usr/local/mysql
Я также попробовал процесс удаления здесь и переустановил, но это, казалось, не имело значения. Я также запустил Activity Monitor в OS X, чтобы посмотреть, были ли запущены какие-либо другие процессы mySQL, но это не так.
Ничто из вышеперечисленного не сработало, так что я вроде как в конце Вот журнал из файла.err, расположенный по адресу:
/usr/local/mysql-5.5.24-osx10.6-x86_64/data/Dannys-Mac-Pro.local.err
120515 18:07:43 mysqld_safe mysqld from pid file /usr/local/mysql-5.5.24-osx10.6-x86_64/data/Dannys-Mac-Pro.local.pid ended
120515 18:13:01 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.5.24-osx10.6-x86_64/data
120515 18:13:01 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql-5.5.24-osx10.6-x86_64/data/ is case insensitive
120515 18:13:01 [Note] Plugin 'FEDERATED' is disabled.
/usr/local/mysql-5.5.24-osx10.6-x86_64/bin/mysqld: Table 'mysql.plugin' doesn't exist
120515 18:13:01 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
120515 18:13:01 InnoDB: The InnoDB memory heap is disabled
120515 18:13:01 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120515 18:13:01 InnoDB: Compressed tables use zlib 1.2.3
120515 18:13:01 InnoDB: Initializing buffer pool, size = 128.0M
120515 18:13:01 InnoDB: Completed initialization of buffer pool
120515 18:13:01 InnoDB: highest supported file format is Barracuda.
120515 18:13:01 InnoDB: Waiting for the background threads to start
120515 18:13:02 InnoDB: 1.1.8 started; log sequence number 1595675
120515 18:13:02 [ERROR] /usr/local/mysql-5.5.24-osx10.6-x86_64/bin/mysqld: unknown option '--skip-locking'
120515 18:13:02 [ERROR] Aborting
120515 18:13:02 InnoDB: Starting shutdown...
120515 18:13:03 InnoDB: Shutdown completed; log sequence number 1595675
120515 18:13:03 [Note] /usr/local/mysql-5.5.24-osx10.6-x86_64/bin/mysqld: Shutdown complete
120515 18:13:03 mysqld_safe mysqld from pid file /usr/local/mysql-5.5.24-osx10.6-x86_64/data/Dannys-Mac-Pro.local.pid ended
Обновление: я обновил ту же машину со Snow Leopard до Mountain Lion 10.8.1, и теперь MySQL прекрасно работает с обновлением, мне не пришлось ничего делать дополнительно.
11 ответов
У меня та же проблема при установке новейшей версии mysql mysql-5.6.10-osx10.7-x86.dmg для моей MAC OS 10.7.5. Ниже приведены мои решения. Сначала удалите установленный MySQL
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
Затем получите mysql-5.1.68-osx10.6-x86.dmg, установите старую версию и готово!
Так как я не могу оставлять комментарии (набрал <50 репутации:(), я пишу это здесь:)
как говорит @AndPy, то же самое со мной, если вы ls -l
/usr/local/var/mysql
Вы можете видеть, что файл COMPUTER-NAME.local.err
принадлежит _mysql
или что-то подобное.... в этом случае просто удалите файл и mysql.server start
создаст новый, принадлежащий вашему пользователю, и на этот раз запустится правильно:)
Если файл уже принадлежит вашему пользователю, это не поможет, вам нужно больше гуглить:(
У меня была такая же проблема после обновления до OS X Mavericks.
Запуск MySQL . ОШИБКА! Сервер вышел без обновления файла PID
Как упоминали AndPy и AndPy, мне также пришлось переименовать (на самом деле я удалил файл) файл ошибок, расположенный в $ cd /usr/local/var/mysql
, Мой файл ошибок был назван localhost.err
, После удаления файла с $ rm localhost.err
Я мог бы наконец запустить MySQL снова с $ mysql.server start
,
Я обнаружил эту ошибку в стеке redmine bitnami, потому что владелец файлов в каталоге данных неверен.
Проверьте, что владелец каталога /mysql/data/ должен быть пользователем 'mysql'
Надеюсь, это поможет.
У меня такая же проблема.
В /usr/local/var/mysql я нашел файл в форме COMPUTER-NAME.local.err. Простое изменение этого имени файла решило проблему. Теперь я могу запустить сервер MySQL с
mysql.server start
Мой ответ очень похож на другие, но немного отличается, и это относится, в основном, к стеку bitnami mamp. Исправление для меня было:
sudo chown -R mysql mysql/
mysql/
каталог находится в Applications/<mampstack-version>/
Выше устанавливает mysql, чтобы быть владельцем каталога mysql рекурсивно в другие каталоги.
Если вы хотите, чтобы эта вещь работала, сделайте следующее:
Вам нужно сначала удалить mysql, поэтому прежде чем делать это, убедитесь, что у вас есть резервная копия всех ваших БД.
brew remove 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
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*
Идти к /etc/hostconfig
используя вашу любимую программу редактирования и удалите строку MYSQLCOM=-YES-
Тогда беги brew cleanup
затем установите MySQL, используя brew install mysql
После этого вы, вероятно, снова получите ту же ошибку. Перейдите в папку cd /usr/local/var/mysql/
, Там должен быть файл с именем localhost.local.err
бежать cat ./localhost.local.err
и посмотрите в файл. Вы должны увидеть что-то похожее на:
2018-03-24 15:41:49 140735679804288 [ERROR] Can't start server: Bind on TCP/IP port. Got error: 48: Address already in use
2018-03-24 15:41:49 140735679804288 [ERROR] Do you already have another mysqld server running on port: 3306 ?
Если вы это сделаете, запустите команду sudo lsof -i :3306
и вы, вероятно, получите что-то вроде этого:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 74 _mysql 20u IPv6 0xXXXXXXXXXXXXX 0t0 TCP *:mysql (LISTEN)
Это означает, что mysql уже запущен и прослушивает порт 3306, и вам нужно его убить. использование top
чтобы убить программу или просто использовать Activity Monitor, чтобы убить ее. В любом случае, как только это будет сделано, вернитесь к cd /usr/local/var/mysql/
и удали папку localhost.local.err
,
После этого запустите mysql.server start, и вы должны получить следующее:
180324 15:46:18 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
SUCCESS!
И поздравляю. Я пытался исправить это в течение недели, и это так легко исправить, и я только что понял это. Я ненавижу себя.
Дайте это вихрь..
- Перейдите в родительский каталог проблемы
cd YOURPATH/usr/local/mysql
rm -rf *.local.err
(удаляет файл)touch YOURUSERNAME.local.pid
(создает новый файл *.local.pid, на который была выдана ошибка)- вернитесь в ваш проект и перезапустите MySQL, используя
mysql.server start
Я пробовал много часов, но это работает для меня, просто измените владельца файла каталога MySQL на пользователя с именем «mysql».
chown -R mysql <path>/mysql-5.7.39-linux-glibc2.12-x86_64
Помогло только удаление файла mysql-bin.index в /usr/local/var/mysql/.
120515 18:13:01 [ОШИБКА] Не удается открыть таблицу mysql.plugin. Пожалуйста, запустите mysql_upgrade, чтобы создать его.
- Что касается этой ошибки, я предполагаю, что вы указали datadir в my.cnf. Если вы используете нестандартный каталог данных для MySQL, вам нужно переместить папки mysql и performance_schema (в зависимости от того, что существует) в каталог данных, указанный в my.cnf. Вы можете найти эти папки в каталоге MySQL.
В MySQL 5.5+ опция --skip-lock удалена. Вместо этого используйте --skip-external-lock. Обратитесь к документации MySQL -> http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html Цитата: "Опции сервера --enable-Lock и --skip-Lock (используйте --external-lock и --skip-external-lock)."