Я использую sqlite3 на Linux-машине и получаю базу данных без имени пользователя и пароля. Могу ли я установить имя пользователя и пароль для одного и того же?
Как я могу установить имя пользователя и пароль в sqlite3?
Ответы (4)
Нет, базы данных sqlite3 — это очень легкие системы. Им не нужен сервер, и все данные хранятся в одном файле. Пакет sqlite/sqlite3 не поддерживает имя пользователя/пароль.
Чтобы достичь простоты, SQLite пришлось пожертвовать другими характеристиками, которые некоторые считают полезными, такими как высокий уровень параллелизма, тонкий контроль доступа, богатый набор встроенных функций, хранимые процедуры, эзотерические функции. Возможности языка SQL, расширения XML и/или Java, масштабируемость до тера- или петабайт и т. д.
Однако, поскольку это всего лишь файл, вы можете зашифровать файл паролем для защиты ваших данных.
SQLite не имеет концепции имени пользователя/пароля. Это просто база данных на основе одного файла.
Однако в Unix вы можете защитить свою базу данных от других пользователей на том же компьютере, установив права доступа к самому файлу базы данных.
например Разрешить доступ только владельцу
chmod 700 /путь/к/sqlitedb
Если он используется в простом веб-приложении, то веб-приложение обеспечит управление.
Предыдущие ответы верны лишь частично. У вас могут быть базы данных, требующие аутентификации, но вам придется компилировать SQLite отдельно от PHP.
Дополнительные сведения см. в документации по SQLite User Authentication. Информация.
SQLite — это в основном встроенный механизм базы данных, не предназначенный для использования в качестве многопользовательского сервера базы данных, для которого требуются имена пользователей и пароли.
Я думаю, вы всегда можете зашифровать файл базы данных с помощью предоставленного пользователем пароля/фразы. Но ожидать от встроенной СУБД полноценного контроля доступа — это слишком.