Я хочу войти в базу данных, запустив файл SQL из сценария Unix без указания имени пользователя и пароля (от имени пользователя root). Это возможно?
База данных Oracle.
Я хочу войти в базу данных, запустив файл SQL из сценария Unix без указания имени пользователя и пароля (от имени пользователя root). Это возможно?
База данных Oracle.
Вы можете определить пользователей вашей базы данных как Аутентифицированные ОС. На сайте Тима Холла Oracle_Base есть хороший пример того, как это сделать. Вам не нужно позволять людям входить в систему с привилегиями SYSDBA, что является причиной катастрофы.
Если ваш пользователь входит в группу оракулов, он может подключиться как SYSDBA.
Пример в Unix env:
$ export ORACLE_SID=MYDB
$ sqlplus /nolog
SQL*Plus: Release...
SP2-0640: Not connected
sql> connect / as sysdba
Connected
SQL> select * from scott.employees ;
Это может быть чем-то излишним для партии (кроме того, что у вас есть все права испортить вашу базу данных).
Однако AFAIK, это единственный вариант.
ОБНОВЛЕНИЕ Учитывая ответ DCookie, это не единственный способ. И, как я уже упоминал и подчеркивал в DCookie, это очень рискованный путь.
Когда вы запускаете SQL * Plus, вам необходимо ввести имя пользователя и пароль для входа в схему базы данных Oracle. Ваше имя пользователя и пароль идентифицируют вас как авторизованного пользователя схемы Oracle Database.
Администратор базы данных (DBA) отвечает за создание вашей учетной записи базы данных с необходимыми привилегиями и дает вам имя пользователя и пароль, которые позволяют вам получить доступ к вашей учетной записи.
Если вы используете PostgreSQL, вы можете указать метод "trust" для вашей локальной сети в файле "pg_hba.conf". Для MySQL может быть что-то похожее, я не уверен (надеюсь, кто-то здесь, кто знаком с любой базой данных, которую вы используете, может помочь с этим, если это не PostgreSQL).