我在linux机器上使用sqlite3,我在没有用户名和密码的情况下获取数据库。我可以设置相同的用户名和密码吗?
答案 0 :(得分:23)
不,sqlite3数据库是非常轻量级的系统。它们不需要服务器,所有数据都存储在一个文件中。 sqlite / sqlite3包不支持用户名/密码。
为了实现简单性,SQLite不得不牺牲一些人认为有用的其他特性,例如高并发性,细粒度访问控制,一组丰富的内置函数,存储过程,深奥的SQL语言特性,XML和/或Java扩展,tera-或peta-byte可伸缩性等等。
但是,由于它只是一个文件,您可以使用密码加密文件以保护您的数据。
答案 1 :(得分:13)
SQLite没有用户名/密码的概念。它只是一个基于文件的数据库。
但是,在Unix上,您可以通过设置数据库文件本身的权限来保护您的数据库免受同一台计算机上的其他用户的攻击。</ p>
e.g。仅允许所有者访问
chmod 700 / path / to / sqlitedb
如果它在一个简单的Web应用程序中使用,那么Web应用程序将提供控件。
答案 2 :(得分:3)
SQLite主要是一个嵌入式数据库引擎,不能用作需要用户名和密码的多用户数据库服务器。
我猜你总是可以用一些用户提供的密码/ -phrase加密数据库文件。但是期望嵌入式DBMS运行全面的访问控制太多了。
答案 3 :(得分:2)
之前的答案只是部分正确。您可以拥有需要身份验证的数据库,但您必须从PHP单独编译SQLite。
有关详细信息,请参阅SQLite User Authentication文档。