naw*_*fal 5 mysql passwords connection-string
也许我不能再傻了,但是说真的,这是我第一次考虑这一点(这是第一次,单个用户应用程序从多个位置成为多用户)。MySQL(或与此有关的任何其他数据库)密码有什么用途?我们在连接字符串中看到的密码,就像这样:
"SERVER=localhost;DATABASE=tree;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200"
Run Code Online (Sandbox Code Playgroud)
是branch对用户的码字root来访问数据库tree?还是用于root访问特定计算机上的任何MySQL数据库?还是任何用户访问数据库的密码tree?或任何用户访问该计算机上任何MySQL数据库的密码?
所以我的问题基本上是?
密码是专用于MySQL,数据库还是用户?还是针对特定用户,针对特定MySQL安装上的特定数据库?或这些的任何组合?
我们可以为MySQL本身设置一个密码(如果不是branch),是否可以为数据库本身设置一个密码(如果不是branch),等等?
对不起,我的无知;)
编辑:我可以运行此查询以删除我的数据库:
query = "DROP DATABASE tree";
Run Code Online (Sandbox Code Playgroud)
使用连接字符串:
"SERVER=localhost;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200"
Run Code Online (Sandbox Code Playgroud)
这不是说密码不是每个数据库而是每个用户吗?
1) 密码是特定于MySQL、数据库还是用户的?或者对于特定 MySQL 安装上的特定数据库的特定用户?或者这些的任意组合?
让我从头开始。第一次安装 MySQL 时,系统会要求您输入用户名(例如 root)和密码(例如 root)。这是针对整个服务器的。使用上述用户名和密码连接到服务器后,您可以出于不同原因创建用户帐户,例如 - 用户“abc”和密码“xxx”应该仅连接到一个数据库,例如“测试”。并且,密码为“aaa”的另一个用户“xyz”可以连接到服务器并访问所有数据库,但仅具有 SELECT 权限。
CREATE USER 'abc'@'%' IDENTIFIED BY 'xxx';
FLUSH PRIVILEGES;
GRANT ALL ON `test`.* TO 'abc'@'%' WITH GRANT OPTION;
Run Code Online (Sandbox Code Playgroud)
这里,密码为“xxx”的用户“abc”可以连接到服务器,但具有最小的权限 - 仅访问测试数据库。
CREATE USER 'xyz'@'%' IDENTIFIED BY 'aaa';
FLUSH PRIVILEGES;
GRANT SELECT ON *.* TO 'xyz'@'%' ;
Run Code Online (Sandbox Code Playgroud)
该用户“xyz”和密码“aaa”仅具有 SELECT 权限连接到服务器。
因此,具有不同密码的三个用户实际上可以使用“root”用户连接到服务器,密码“root”具有所有权限,而“abc”和“xyz”具有最小权限。
我想我也回答了你的第二个问题:-)
| 归档时间: |
|
| 查看次数: |
446 次 |
| 最近记录: |