MySQL Daemon не удалось запустить - centos 6

РЕДАКТИРОВАТЬ. Посмотрите ответы на вопросы о проверке, чтобы решить проблему.

Всякий раз, когда я пытаюсь запустить службу SQLD, я заставляю MySQL Daemon не запускаться. я infact попытался "запустить" службу, выполнив следующие действия:

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

EDIT:

Вот мой файл 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

Ответ 1

Наиболее вероятной причиной этой ошибки является то, что ваш сервер mysql не запущен. Когда вы вводите mysql, вы выполняете клиент mysql.

Попробуйте:

# sudo service mysql start
# mysql

Обновить (после того, как OP включил вход в вопрос, взятый из комментариев ниже):

Спасибо, увидел ваш журнал. В журнале говорится, что пользователь mysql не имеет надлежащие права доступа. Я предполагаю, что ваш пользователь mysql - это mysql (это может проверяться в /etc/my.cnf, выполнить

chown -R mysql:mysql /var/lib/mysql

и попробуйте снова запустить mysqld.

Ответ 2

Попробуйте перезапустить apache sudo service httpd restart. Работал для меня.

Ответ 3

запустите это:

chown -R mysql:mysql /var/lib/mysql

и повторите попытку!

Ответ 4

Вам может потребоваться освободить место из раздела 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

Ответ 5

 /etc/init.d/mysqld stop

  mysqld_safe --skip-grant-tables &

  mysql_upgrade

 /etc/init.d/mysqld stop

 /etc/init.d/mysqld start

Ответ 6

Еще один совет, который работал у меня. Выполните команду:

$ mysql_install_db

Ответ 7

  1. /etc/init.d/mysql stop
  2. chown -R mysql:mysql/var/lib/mysql
  3. mysql_install_db
  4. /etc/init.d/mysql start

Все это спасло мой MySQL сервер!

Ответ 8

попробуйте

netstat -a -t -n | grep 3306 

чтобы увидеть, как кто-то прослушивает порт 3306 затем убить его

У меня была эта проблема в течение 2 дней. Попробовав решения, размещенные на форумах, я случайно столкнулся с ситуацией, когда мой журнал получал эту ошибку.

проверьте, что у вас еще нет другого процесса mysqld

Ответ 9

У меня была такая же проблема. Когда я проверил error.log, я обнаружил, что мой диск заполнен.

Использование:

df -h 

в командной строке. он скажет вам, сколько места у вас осталось. моя была полна. наш файл error.log был 4.77GB. Я загрузил его, а затем удалил. Затем я использовал сервис mysqld start, и он сработал.

Ответ 10

Ваша база данных была отключена из-за недостаточной памяти! Вы можете отредактировать файл my.cnf, расположенный ниже графика, чтобы его разрешить.

performance_schema_max_table_instances=200
table_definition_cache=200
table_open_cache=128

Ответ 11

Для тех, кто будет здесь в будущем, если все вышеописанные методы не работают, проверьте файл 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 [email protected] 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

Ответ 12

У меня просто была эта ошибка. Я не мог удаленно подключиться к моему серверу mysql. Я попытался перезапустить сервер mysql с сервисом mysqld restart (я использовал root). Он остановился, но не начал снова. Оказывается, моя память заполнена. Сбросил несколько ГБ, и он работает нормально.

Ответ 13

Это может быть проблема с разрешением,

Попробуйте выполнить следующую команду /etc/init.d/mysqld start как пользователь root.

Ответ 14

Если вы используете yum в AIM Linux Amazon EC2. Для обеспечения безопасности создайте резервную копию в каталоге /var/lib/mysql

sudo yum reinstall -y mysql55-server

sudo service mysqld start

Ответ 15

Ссылка здесь 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

Ответ 16

RE: MySQL Daemon не удалось запустить - centos 6/RHEL 6

  • Yum Установите MySQL
  • /etc/init.d/mysqld start Не удалось запустить MySQL Daemon. Запуск mysqld: [FAILED]

  • Обзор Журнал:/var/log/mysqld.log

  • Вы можете получить эту ошибку: [ОШИБКА] Не удается открыть таблицу mysql.plugin. Для его создания запустите mysql_upgrade.

Решение, которое работает для меня, выполняется следующим образом:

  1. $ mysql_install_db

Пожалуйста, дайте мне знать, если это не решит вашу проблему.