Я хочу войти в базу данных, запустив файл SQL из сценария UNIX без указания имени пользователя и пароля (как root). Есть какая-нибудь команда для этого?
Вы можете сохранить имя пользователя и пароль в ~ / .my.cnf
[mysql]
user=foo
password=bar
Но этот файл не зашифрован, так что будьте осторожны.
Многие клиентские программы, включая mysql, могут получать пароли из командной строки. Попробуйте
mysql -u root -pROOT_PASSWORD DATABASE_NAME
Где ROOT_PASSWORD - пароль для учетной записи root mysql. Вы также можете использовать сертификаты для входа в систему.
Поскольку существует некоторая путаница, по крайней мере последние версии mysql маскируют ваш пароль из списка процессов. Вы можете проверить это, выполнив вышеупомянутую команду, а затем в другом терминале
ps auxw | grep mysql
Если вы видите что-то вроде
mysql -u root -px xxxxx
(где -px xxxxx
именно это, а не ваш пароль), тогда ваш пароль не будет отображаться в списке процессов.
Соображения безопасности:
HISTFILE
.