РЕДАКТИРОВАТЬ. Посмотрите на комментарии с отметками о проверке, чтобы решить проблему.
Всякий раз, когда я пытаюсь запустить службу SQLD, я заставляю MySQL Daemon не запускаться. Я начал пытаться «запустить» службу, выполнив следующие действия:
service mysqld start
Также
Когда я набираю: mysql
Я получил:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Я знаю, что в этом каталоге должен быть файл mysql.sock, поэтому я его создаю. Но файл просто автоматически удаляет себя, и я продолжаю получать ошибку 2002.
Из-за ошибки я также не могу войти в PHPMyAdmin. Я могу получить доступ к странице phpmyadmin, но при входе в систему я получаю: #2002 Cannot log in to the MySQL server
РЕДАКТИРОВАТЬ:
Вот мой файл mysql.log:
131201 13:05:07 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 131201 13:18:18 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 131201 13:18:18 [Note] Plugin 'FEDERATED' is disabled. /usr/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13) 131201 13:18:18 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 131201 13:18:18 InnoDB: The InnoDB memory heap is disabled 131201 13:18:18 InnoDB: Mutexes and rw_locks use GCC atomic builtins 131201 13:18:18 InnoDB: Compressed tables use zlib 1.2.3 131201 13:18:18 InnoDB: Using Linux native AIO 131201 13:18:18 InnoDB: Initializing buffer pool, size = 128.0M 131201 13:18:18 InnoDB: Completed initialization of buffer pool 131201 13:18:18 InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name ./ibdata1 InnoDB: File operation call: 'open'. InnoDB: Cannot continue operation. 131201 13:18:18 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Я запустил mysql_upgrade и получил
Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck FATAL ERROR: Upgrade failed
Наиболее вероятной причиной этой ошибки является то, что ваш сервер mysql не запущен. Когда вы вводите mysql
вы выполняете клиент mysql.
Пытаться:
# sudo service mysql start # mysql
Обновление (после включения OP включается вопрос, взятый из комментариев ниже):
Спасибо, увидел ваш журнал. В журнале говорится, что пользователь mysql не имеет надлежащих прав доступа. Я предполагаю, что ваш пользователь mysql – это mysql (это можно проверить в
/etc/my.cnf
, выполнить
chown -R mysql:mysql /var/lib/mysql
и попробуйте снова запустить
mysqld
.
Попробуйте перезапустить apache sudo service httpd restart
. Работал для меня.
выполните следующее:
chown -R mysql:mysql /var/lib/mysql
и попробуй еще раз!
Вам может потребоваться освободить место из раздела root (/). Остановить процесс mysql:
/etc/init.d/mysql stop
Удалите неиспользуемую базу данных из mySql по команде:
rm -rf [Database-Directory]
Выполните его в /var/lib/mysql
. Теперь, если вы запустите df -h
, вы можете смутить все еще полным пространством. Чтобы удалить поврежденный каталог неиспользуемой базы данных, вам необходимо убить процессы, используя текущий каталог / раздел.
Остановка mysql_safe
или mysqld_safe
а затем mysqld
:
ps -A
Затем найдите номер процесса mysql (например, 2234). Затем выполните:
kill 2234
Теперь запустите mysql:
/etc/init.d/mysql start
Еще один совет, который работал для меня. Выполните команду:
$ mysql_install_db
Все это спасло мой сервер MySQL!
/etc/init.d/mysqld stop mysqld_safe --skip-grant-tables & mysql_upgrade /etc/init.d/mysqld stop /etc/init.d/mysqld start
пытаться
netstat -a -t -n | grep 3306
видеть любого, кто слушает порт 3306, а затем убить его
У меня была эта проблема в течение 2 дней. Попробовав решения, размещенные на форумах, я случайно столкнулся с ситуацией, когда мой журнал получал эту ошибку
убедитесь, что у вас еще нет другого процесса mysqld
У меня была такая же проблема. Когда я проверил error.log, я обнаружил, что мой диск заполнен.
Использование:
df -h
в командной строке. он скажет вам, сколько места у вас осталось. моя была полна. наш файл error.log был 4.77GB. Я загрузил его, а затем удалил. Затем я использовал сервис mysqld start, и он сработал.
Ваша база данных была отключена из-за недостаточной памяти! Вы можете отредактировать файл my.cnf base ниже графика, чтобы его разрешить
performance_schema_max_table_instances=200 table_definition_cache=200 table_open_cache=128
Для тех, кто будет здесь в будущем, если все вышеописанные методы не работают, проверьте файл my.cnf:
$ sudo gedit /etc/my.cnf
Найдите начало строки:
bind-address=[an-IP-address]
Проверьте правильность IP-адреса после знака равенства. Если вы даже не знаете, что такое IP, просто используйте localhost, тогда вы можете подключаться только к MySQL внутри одного и того же хоста.
Если вы хотите подключиться к MySQL удаленно, вы должны полностью прокомментировать эту строку, тогда он будет прослушивать все IP-адреса и порты, которые вам нужны, потому что вы будете удаленно подключаться к нему через общедоступный IPv4.
После этого добавьте пользователя для доступа к вашей базе данных, например:
mysql> GRANT ALL ON database_name.* TO user@xx.xxx.xx.xx IDENTIFIED BY 'your_password';
Замените xx.xx.xx.xx своим локальным IP-адресом вашего ноутбука / рабочего стола или если он динамический, вы можете добавить их либо: 192.168.0.% 'В качестве динамического C-класса или'% ', если хотите чтобы иметь возможность подключаться из любого места (это менее безопасно)
Кроме того, если установлен брандмауэр, следует открыть порт на брандмауэре;
Например, в Ubuntu:
sudo ufw allow 3306/tcp sudo service ufw restart
Теперь проверьте, запускается ли служба:
$ sudo service mysqld start
У меня просто была эта ошибка. Я не мог удаленно подключиться к моему серверу mysql. Я попытался перезапустить сервер mysql с mysqld restart
службы mysqld restart
(я использовал root). Он остановился, но не начал снова. Оказывается, моя память заполнена. Сбросил несколько ГБ, и он работает нормально.
Это может быть проблема разрешения,
Попробуйте /etc/init.d/mysqld start
следующую команду /etc/init.d/mysqld start
как пользователь root.
Если вы используете yum в AIM Linux Amazon EC2. Для обеспечения безопасности создайте резервную копию в каталоге / var / lib / mysql
sudo yum reinstall -y mysql55-server sudo service mysqld start
Ссылка здесь 2.10.2.1 Проблемы с устранением неполадок Запуск сервера MySQL .
1. Найдите каталог данных , он был настроен в my.cnf.
[mysqld] datadir=/var/lib/mysql
2. Проверьте файл err, он зарегистрирует сообщение об ошибке о том, почему запуск сервера mysql не удался. имя файла err связано с вашим именем хоста.
cd /var/lib/mysql ll tail (hostname).err
3.Если вы найдете такие сообщения, как:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 33554432 bytes InnoDB: than specified in the .cnf file 0 5242880 bytes! 170513 14:25:22 [ERROR] Plugin 'InnoDB' init function returned error. 170513 14:25:22 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 170513 14:25:22 [ERROR] Unknown/unsupported storage engine: InnoDB 170513 14:25:22 [ERROR] Aborting
тогда
удалить ib_logfile0 и ib_logfile1
, тогда,
/etc/init.d/mysqld start
RE: MySQL Daemon не удалось запустить – centos 6 / RHEL 6
/etc/init.d/mysqld запустить MySQL Daemon не удалось. Запуск mysqld: [FAILED]
Обзор Журнал: /var/log/mysqld.log
Решение, которое работает для меня, работает следующим образом:
Пожалуйста, дайте мне знать, если это не решит вашу проблему.