可能我不能变得更愚蠢,但是认真地说这是我第一次考虑它(这是单个用户应用程序第一次从多个位置转向多用户)。出于什么目的,MySQL(或任何其他数据库)密码?我们在连接字符串中看到的密码,就好像这样:
"SERVER=localhost;DATABASE=tree;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200"
branch
是用户root
访问数据库tree
的代码字吗?或者root
是否可以访问特定计算机上的任何MySQL数据库?或者它是任何用户访问数据库tree
的密码?或者任何用户访问该机器上任何MySQL数据库的密码?
所以我的问题基本上都是?
密码是否特定于MySQL,数据库或用户?或者针对该特定MySQL安装上的特定数据库的特定用户?或者这些的任何组合?
我们可以拥有MySQL本身的密码(如果不是branch
的情况),我们是否可以拥有db本身的密码(如果不是branch
的情况)等?
对不起我的无知;)
编辑:我可以运行此查询来删除我的数据库:
query = "DROP DATABASE tree";
连接字符串:
"SERVER=localhost;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200"
这是不是说每个数据库都不是密码,而是每个用户?
答案 0 :(得分:1)
密码允许用户连接到数据库。
其中一个。
即。该特定用户可以使用该特定密码连接到该特定数据库实例。
答案 1 :(得分:1)
1)密码是否特定于MySQL,数据库或 用户?或者针对该特定数据库的特定用户 特别是MySQL安装?或者这些的任何组合?
让我从头开始。第一次安装MySQL时,系统会要求您输入用户名(例如root)和密码(例如root)。这适用于整个服务器。 使用上述用户名和密码连接到服务器后,您可以出于不同的原因创建用户帐户,例如:用户'abc',密码为'xxx',应该只连接到一个数据库,比如Test。而且,另一个用户'xyz'密码为'aaa'可以连接到服务器并访问所有数据库,但只有SELECT权限。
CREATE USER 'abc'@'%' IDENTIFIED BY 'xxx';
FLUSH PRIVILEGES;
GRANT ALL ON `test`.* TO 'abc'@'%' WITH GRANT OPTION;
此处,密码为“xxx”的用户'abc'可以连接到服务器但具有最小权限 - 仅访问测试数据库。
CREATE USER 'xyz'@'%' IDENTIFIED BY 'aaa';
FLUSH PRIVILEGES;
GRANT SELECT ON *.* TO 'xyz'@'%' ;
此用户 - 密码为'aaa'的'xyz'连接到仅具有SELECT权限的服务器。
因此,具有不同密码的三个用户实际上可以使用“root”用户连接到服务器,密码“root”具有所有权限,而“abc”和“xyz”具有最小权限。
我想我也回答了你的第二个问题: - )