"service mysql reload" mysqladmin: не удалось подключиться к серверу на локальном хосте, НО перезапуск работает нормально
Перезагрузка mysql не удается. Но и перезагрузка, и статус работают нормально.
Любые идеи о том, как исправить / устранить неполадки, чтобы перезагрузка работает?
При перезапуске также требуется около 20 секунд для перезапуска, как будто время ожидания истекает до его завершения. Я попытался создать локальный.my.cnf для root, думая, что это проблема с паролем для "mysqladmin", но тот же результат.
Другие пункты, которые я думаю, могут быть связаны. "skip-name-resol" был включен, и при этом упомянутый журнал ошибок mysql не смог разрешить localhost из записей в таблице "mysql" для таблиц user и db, поэтому изменил все записи "localhost" на 127.0.0.1
Журнал ошибок сказал:
"[Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode."
Результат перезагрузки:
# sudo service mysql reload
* Reloading MySQL database server mysqld
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket
'/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket:
'/var/run/mysqld/mysqld.sock' exists!
1 ответ
mysqladmin не смог найти файл.sock, поэтому я сделал символическую ссылку на него, но при перезапуске mysql моя символическая ссылка была удалена. Я обновил свой my.cnf и закомментировал путь к файлу.sock, чтобы он использовал вместо него местоположение по умолчанию. Вот как я это понял.
# mysqladmin version
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
# grep "sock" /etc/mysql/my.cnf
socket = /var/lib/mysql/mysql.sock
socket = /var/lib/mysql/mysql.sock
# mysqladmin --socket=/var/lib/mysql/mysql.sock version
mysqladmin Ver 8.42 Distrib 5.7.22, for Linux on x86_64
# ln -s /var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock
# mysqladmin version
mysqladmin Ver 8.42 Distrib 5.7.22, for Linux on x86_64
Это работало только до тех пор, пока перезапуск не удалил.sock, поэтому убедитесь, что мой конфиг использует вместо него местоположение по умолчанию.
# vi /etc/mysql/my.cnf
#socket = /var/lib/mysql/mysql.sock
# service mysql restart