Назад | Перейти на главную страницу

MySQL перестал работать в Ubuntu: невозможно перейти на запуск от имени пользователя mysql. Как сохранить данные?

Сегодня совершенно неожиданно перестала работать MySQL на сервере Ubuntu. Когда я пытаюсь войти в систему, я получаю такую ​​ошибку:

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

Проверка ошибки:

mysqld --verbose

160408  3:21:24 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
160408  3:21:24 [ERROR] Fatal error: Can't change to run as user 'mysql' ;  Please check that the user exists!

160408  3:21:24 [ERROR] Aborting

160408  3:21:24 [Note] mysqld: Shutdown complete

Я попытался sudo service mysql start:

start: Job failed to start

Я также пробовал:

ps ax | grep mysql
 4127 pts/0    S+     0:00 grep --color=auto mysql

и

sudo chown mysql:root -R /var/lib/mysql
chown: invalid user: `mysql:root'

Если я попытаюсь перечислить всех пользователей в системе:

compgen -u
root
ram
sshd
nobody
deployer

Я также проверил, не заканчивается ли у меня место на сервере:

Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        79G   27G   49G  35% /
udev            3.9G  4.0K  3.9G   1% /dev
tmpfs           1.6G  204K  1.6G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            3.9G     0  3.9G   0% /run/shm
none            100M     0  100M   0% /run/user

Но места предостаточно.

Если я попытаюсь проверить розетку: cd /var/run/mysqld/, затем:

-bash: cd: /var/run/mysqld/: No such file or directory

Как исправить эту проблему? Или хотя бы - как сохранить данные из базы?

Большое спасибо!

Возможно, это поможет другим.

adduser mysql

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

sudo chmod -R 755 /var/lib/mysql/

sudo service mysql start

Вы также можете вернуть пользователя "mysql" либо с помощью команды adduser, либо путем редактирования файлов / etc / passwd, / etc / shadow и / etc / group.

Вы можете получить предыдущие идентификаторы пользователя и группы из устаревших файлов mysql.

Я бы переустановил пакет mysql. Повторная установка пакета не удаляет ваши данные (Источник), поэтому я бы сделал следующее:

  1. Резервное копирование папки данных mysql с помощью cp -ar /var/lib/mysql /safeplace
  2. Удалите пакет: apt-get remove mysql-server
  3. Переустановите пакет apt-get install mysql-server