了解MySQL密码

可能我不能变得更愚蠢,但严重的是这是我第一次考虑它(这是单个用户应用程序第一次从多个位置转向多用户).出于什么目的,
MySQL(或任何其他数据库)密码?我们在连接字符串中看到的密码,就好像这样:

"SERVER=localhost;DATABASE=tree;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200"

分支是用户root访问数据库树的代码字吗?或者root是否可以访问特定计算机上的任何MySQL数据库?或者它是任何用户访问数据库树的密码?或者任何用户访问该机器上任何MySQL数据库的密码?

所以我的问题基本上都是?

>密码是否特定于MySQL,数据库或用户?或者针对该特定MySQL安装上的特定数据库的特定用户?或者这些的任何组合?
>我们可以拥有MySQL本身的密码(如果不是分支的情况),我们可以为db本身设置密码(如果那不是分支的情况)等等吗?

抱歉我的无知;)

编辑:我可以运行此查询以删除我的数据库:

query = "DROP DATABASE tree";

使用连接字符串:

"SERVER=localhost;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200"

这是不是说密码不是每个数据库,而是每个用户?

最佳答案

1) Is the password specific for the MySQL, or the database, or the
user? Or for that particular user for that particular database on that
particular MySQL installation? Or any combination of these?

让我从头开始.第一次安装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;

这里用户’abc’密码为’xxx’,可以连接到服务器,但权限最小 – 只访问Test数据库.

 CREATE USER 'xyz'@'%' IDENTIFIED BY 'aaa'; 
 FLUSH PRIVILEGES; 
 GRANT SELECT ON *.* TO 'xyz'@'%' ;

此用户 – 密码为’aaa’的’xyz’连接到仅具有SELECT权限的服务器.

因此,具有不同密码的三个用户实际上可以使用“root”用户连接到服务器,密码“root”具有所有权限,而“abc”和“xyz”具有最小权限.

我想我也回答了你的第二个问题:-)

点赞