Как написать команду bash для доступа к удаленному серверу MySQL?
Если я попробую
mysql -host 10.1.1.20 -port 3306 -u root -p 1234
он запрашивает пароль, и после ввода пароля он считает 1234
в качестве имени базы данных и утверждает, что такой базы данных нет.
Как сказал Джефф Фриц, вы можете использовать --password=
синтаксис, но это небезопасно. Лучше использовать файлы конфигурации MySQL, например:
[client]
password=your_pass
Назовите этот файл .my.cnf
, поместите его в свой домашний каталог и дайте ему 600 разрешений, чтобы никто не мог его прочитать. Увидеть Справочное руководство по MySQL.
Попробуйте --password=
синтаксис вместо этого. Фактически, используйте --database=
синтаксис. В сценариях я предпочитаю явные, длинные параметры, поскольку они более самодокументируются.
Просто удалите пробел между "-p" и паролем. то есть -p1234