Как ввести пароль в mysql5.5 с помощью пакетного скрипта? - PullRequest
1 голос
/ 02 марта 2012

Я написал пакетный скрипт, но он все еще спрашивает у меня пароль. Я хочу ввести это автоматически. пожалуйста, помогите мне

вот мой пакетный скрипт:

setlocal EnableDelayedExpansion
c:
cd "C:\Program Files\MySQL\MySQL Server 5.5\bin"

mysql -u root -p root

но все еще в выводе он запрашивает пароль как:

Введите пароль:

я получил ответ. для этого найдите ниже мой комментарий

Ответы [ 7 ]

4 голосов
/ 02 марта 2012

Между параметром и паролем не должно быть пробела. Так и должно быть:

mysql -u root -proot

Или используйте --password=root

2 голосов
/ 23 июня 2014

Для других гуглов, таких как я, я добавлю свое решение. К сожалению, официальная документация не говорит об этом ясно

Короткие параметры, подобные этим, мне не помогли и запросили пароль

mysqldump -uroot -p "qwerty" mybase > Z:\mybase.sql

С «полными» параметрами имени это сработало, просто предупреждая об этом действии как небезопасном mysqldump --user="root" --password="qwerty" mybase > Z:\mybase.sql echo 'Backup OK' > mysql_dump.log

1 голос
/ 16 марта 2012

Проблема решена Получил решение

с:

cd "C: \ Program Files \ MySQL \ MySQL Server 5.5 \ bin"

mysql -uroot -proot -e "удалить из db.tablename, где columnname = 'Что-то';

Проблема в этой строке "setlocal EnableDelayedExpansion" Это должно быть удалено. и код работает без сбоев:)

0 голосов
/ 25 апреля 2018

Ваш лучший вариант - использовать файлы опций MySQL.

MySQL 5.5 использует файл .my.cnf, вам просто нужно указать имя пользователя и пароль.Этот подход означает, что вы можете войти в mysql, просто набрав mysql в своем скрипте, а файл .my.cnf заполнит все остальное;Вот как:

Создайте файл .my.cnf в домашнем каталоге пользователя, который будет запускать скрипт.Содержимое должно выглядеть как следующий блок кода, меняя действительные значения your_user и your_password .

[client]
user=your_user
password=your_password   

Целесообразно изменить разрешение этого файладо 400 или 600, это будет означать, что только ваш пользователь и root смогут увидеть файл.

chmod 600 .my.cnf

Все готово!

NB

Начиная с версии 5.6, вы можете использовать утилиту mysql_config_editor, которая генерирует файл .mylogin.cnf, который имеет тот же результат, что и вышеприведенный подход, с дополнительным преимуществом, что пароль будет зашифрован утилитой.1022 *

MySQL 5.5 https://dev.mysql.com/doc/refman/5.5/en/password-security-user.html

MySQL 5.6+ https://dev.mysql.com/doc/refman/8.0/en/mysql-config-editor.html

0 голосов
/ 07 ноября 2017

попробуйте создать файл для пароля .pw и ниже команда работает в пакетном порядке. mysql --default-file = C: \ path * .pw -u% username% бла-бла ..

0 голосов
/ 02 ноября 2015

-пароль отображает предупреждение

Предупреждение. Использование пароля в интерфейсе командной строки может быть небезопасным.

https://dev.mysql.com/doc/refman/5.7/en/password-security-user.html

Решение: Вы можете использовать файл опций cnf

https://dev.mysql.com/doc/refman/5.7/en/option-files.html

linux:

echo -e "[client]\nhost=mysqlhost\nport=3306\nuser=root\npassword=${ROOT_PASS}" > root.cnf
mysql --defauls-file=root.cnf -e "SELECT * FROM users;" ${MYDB}

windows:

Ship root.cnfфайл с пакетным скриптом и запустите

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql" --defauls-file=root.cnf -e "SELECT * FROM users;" %MYDB%
0 голосов
/ 02 марта 2012

AFAIK, вы не можете сделать это с помощью bin MySQL, но MySQL может.

Смотрите документы здесь: http://dev.mysql.com/doc/refman/5.5/en/mysqladmin.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...