Как я могу проверить соединение mysql для пользователя / пароля, используя пакетный / shell скрипт - PullRequest
0 голосов
/ 19 апреля 2010

Как я могу проверить соединение mysql для пользователя / пароля, используя пакетный скрипт / сценарий оболочки?

У меня есть имя пользователя и пароль, и мне нужно проверить, верны они или нет, но как?

Я пробовал следующим образом:

  1. Я создал командный файл "run.bat" с "mysql -u User - password = UserPassword
  2. Файл "commands.sql" содержит "\ q"
  3. Когда я запускаю файл "run.bat", выводится ничего, когда пользователь / пароль верны и "ОШИБКА 1045 (28000): доступОтклонено для пользователя ... ", когда пользователь / пароль неверны.Теперь мы можем зафиксировать этот вывод и решить, является ли соединение успешным или нет, если да, то как?

С уважением

Ответы [ 3 ]

4 голосов
/ 20 апреля 2010

Я нашел решение, как показано ниже:

@echo OFF
echo \q | mysql -u User --password=UserPassword 2>nul

if "%ERRORLEVEL%" == "0" (
  echo CONNECTION SUCCESSFUL
) else (
  echo CONNECTION FAILED
)
2 голосов
/ 19 апреля 2010

Вы можете проверить статус возврата mysql. Он сохраняется в переменной среды ERRORLEVEL:

mysql -u User--password=UserPassword < commands.sql
if "%ERRORLEVEL%" EQU "0" (
  echo OK
) else (
  echo FAIL
)

Если вам повезет, mysql.exe даже возвращает определенный статус для «Ошибка входа», на который вы можете реагировать. Большинство приложений возвращают 0 в случае успеха и что-то! = 0 в случае неудачи. Используйте echo %ERRORLEVEL% сразу после команды, чтобы узнать текущее значение.

Более продвинутый подход будет заключаться в захвате и оценке потока приложения STDERR. Это, однако, будет материалом для другого вопроса.

0 голосов
/ 19 апреля 2010

вы можете использовать файл ".my.cnf"

Я делаю это, хотя id настоятельно рекомендую не использовать вашу учетную запись root для mysql

[root@daaorc900c ~]# cat ./.my.cnf 
[client]
user=monitoruser
password=whatismonitor
[root@daaorc900c ~]# 

Похоже, у вас одно окно, поэтому вот документация по "файлам опций" в widnows

http://dev.mysql.com/doc/refman/5.1/en/option-files.html

...