如何在sqlite3中设置用户名和密码?

33

我正在linux机器中使用sqlite3,发现该数据库没有用户名和密码。我能够为它设置用户名和密码吗?


这里的答案仍然正确吗? 这是什么?https://www.sqlite.org/src/doc/trunk/ext/userauth/user-auth.txt - Minura Punchihewa
4个回答

35
不支持sqlite/sqlite3包的用户名/密码。SQLite数据库是非常轻量级的系统,不需要服务器,所有数据存储在一个文件中。为了实现简单性,SQLite必须放弃其他一些人认为有用的特性,如高并发性、细粒度访问控制、丰富的内置函数、存储过程、奇特的SQL语言功能、XML和/或Java扩展,以及tera-或peta-byte可扩展性等。但是,由于它只是一个文件,您可以使用密码加密文件以保护您的数据。sqlite, when to use

19

SQLite没有用户名/密码的概念,它只是一个基于单个文件的数据库。

但是,在Unix上,您可以通过设置数据库文件本身的权限来防止其他用户访问该机器上的数据库。

例如,仅允许所有者访问:

chmod 700 /path/to/sqlitedb

如果它用于简单的Web应用程序,则Web应用程序将提供控制。


7

之前的回答只是部分正确的。您可以拥有需要认证的数据库,但必须从PHP单独编译SQLite。

请参阅 SQLite用户认证文档以获取更多信息。


4

SQLite主要是一种嵌入式数据库引擎,不打算用作需要用户名和密码的多用户数据库服务器。

你可以始终使用用户提供的密码/短语加密数据库文件。但是,期望嵌入式DBMS具有完整的访问控制是过分的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接