@Skrolea

Что делает этот код?

В файле /etc/init.d/mysqld

start(){
    [ -x $exec ] || exit 5
    # check to see if it's already running
    RESPONSE=`/usr/bin/mysqladmin --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1`
    if [ $? = 0 ]; then
        # already running, do nothing
        action $"Starting $prog: " /bin/true
        ret=0
    elif echo "$RESPONSE" | grep -q "Access denied for user"
    then
        # already running, do nothing
        action $"Starting $prog: " /bin/true
        ret=0


Собственно меня интересует больше даже UKNOWN_MYSQL_USER. В каких случаях он появляется (нашел в error файле)
UNKNOWN_MYSQL_USER@localhost as on SET NAMES Quit
P.S. Комментарий check to see if it's already running я, конечно, прочитал, но что это означает - я всё равно не понимаю
  • Вопрос задан
  • 836 просмотров
Решения вопроса 1
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Проверка, запущен ли mysql. И не просто запущен, а отвечает ли!
Проверка производится обращением к мускулу от несуществующего пользователя UNKNOWN_MYSQL_USER
1) Если пинг выполнился без ошибки (переменная $? равна 0) - ничего не делаем
2) Если выполнился с ошибкой и при этом возвратилось "Access denied for user" - тоже ничего не делаем
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы