Сегодня совершенно неожиданно перестала работать 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. Повторная установка пакета не удаляет ваши данные (Источник), поэтому я бы сделал следующее:
cp -ar /var/lib/mysql /safeplace
apt-get remove mysql-server
apt-get install mysql-server