数据库创建用户(mysql如何创建新用户)
大家好,感谢邀请,今天来为大家分享一下数据库创建用户的问题,以及和mysql如何创建新用户的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
如何在MySQL中创建用户和授予权限
如何创建MySQL用户并授予权限?为了实现良好的安全性,需要为每个应用程序创建单独的用户帐户,而不是root用户访问数据库。这将确保应用程序无法访问其他应用程序的数据库。因此需要mysql管理员(root)权限来创建用户帐户并为数据库分配权限。
对于信息,MySQL root帐户与系统root帐户不同,它们之间没有任何关系。(相关推荐:MySQL教程)
1、在MySQL中创建新用户
使用具有shell访问权限的root用户登录MySQL服务器并创建名为“rahul”的新用户。下面的命令只允许从localhost系统访问用户rahul的MySQL服务器。
mysql> CREATE USER'rahul'@'localhost' IDENTIFIED BY'password';现在将权限分配给特定数据库。下面的命令将允许用户rahul拥有数据库“mydb”的所有权限。
mysql> GRANT ALL ON mydb.* TO'rahul'@'localhost';创建用户并分配适当的权限后,请确保重新加载权限。
mysql> FLUSH PRIVILEGES;2.创建可远程访问的MySQL用户
允许任何用户从远程系统连接MySQL服务器。您需要指定远程系统的主机名或IP地址。还可以使用%来允许任何主机
mysql> CREATE USER'rahul'@'123.45.67.89' IDENTIFIED BY'password';
mysql> CREATE USER'rahul'@'%' IDENTIFIED BY'password';
mysql> FLUSH PRIVILEGES;3、在MySQL中授予特定用户权限
下面是MySQL用户常用权限列表。访问此处以获取MySQL用户的完整权限列表。
ALL [PRIVILEGES]-授予用户所有权限。
CREATE-授予用户创建新数据库和表的权限。
DROP-授予用户删除(drop)数据库和表的权限。
DELETE-授予用户删除表中的行的权限。
ALTER-授予用户修改表结构的权限。
INSERT-授予用户在表中插入(add)行的权限。
SELECT-授予用户运行select命令以从表中读取数据的权限。
UPDATE-授予用户更新表中的数据的权限。
EXECUTE-授予用户执行存储的例程的权限。
FILE-授予用户访问服务器主机上的文件的权限。
GRANT OPTION-授予用户授予或删除其他用户权限的权限。
在这里,可以指定用逗号分隔的权限来代替所有权限。例如,允许对数据库mydb上的'rahul'@'localhost'进行CREATE,DELETE,INSERT,UPDATE访问。
mysql> GRANT CREATE,DELETE,INSERT,UPDATE ON mydb.* TO'rahul'@'localhost';
mysql> FLUSH PRIVILEGES;4、撤消MySQL中的用户权限
使用REVOKE命令从用户中删除任何特定权限。例如,从mydb数据库上的用户'rahul'@'localhost'中删除DELETE权限。
mysql> REVOKE DELETE ON mydb.* TO'rahul'@'localhost';
mysql> FLUSH PRIVILEGES;5、在MySQL中删除用户
您可以使用DROP命令从MySQL中删除任何用户。例如,要删除用户'rahul'@'localhost',可以使用以下命令。
mysql> DROP USER'rahul'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql如何创建新用户
创建新用户
我们介绍如何设置新用户的帐号详细信息、帐号限制和 SSL设置。
“常规”选项卡
点击对象工具栏上的“新建用户”按钮将打开无标题的用户选项卡。它包含五个选项卡,分别为“常规”、“高级”、“服务器权限”、“权限”和“SQL预览”。我们已在第 1部分中介绍了“常规”选项卡,但我们将在此快速回顾一下。在“常规”选项卡上,我们需要提供:
“用户名”
数据库“主机”
加密“插件”。从下拉列表中选择“mysql_native_password”或“sha256_password”
“密码”
“密码过期策略”
设置密码策略
MySQL允许数据库管理员手动设置帐号密码过期,并使用 MySQL mysql_native_password或 sha256_password内置身份验证插件建立自动密码过期的策略。
Navicat通过下拉列表提供几个选项,摘要了使用 PASSWORD EXPIRE语句设置密码到期的常用 MySQL机制。他们是:
DEFAULT:将密码过期时间长度设置为数据库的默认值。在版本 5.7.11之前,默认值为 360天。从版本 5.7.11开始,默认值为 0天,这能有效地禁用自动密码过期。
IMMEDIATE:使帐号密码过期,从而强制用户更新它。
INTERVAL:指定当前密码过期的天数。
NEVER:允许当前密码无限期保持有效状态。对脚本和其他自动化过程很有用。
这里举一个例子:
“高级”选项卡
你可以在此处找到帐号限制和 SSL的设置。
帐号限制
MySQL允许限制个人帐号使用各种服务器资源,以避免任何一个用户独占资源。限制包括:
一个帐号每小时可以发出的查询数。
一个帐号每小时可以发出的更新数。
一个帐号每小时可以连接到服务器的次数。
一个帐号可连接到服务器的总数。
这些等同于高级选项卡中的字段:“每小时最大查询数”、“每小时最大更新数”、“每小时最大连接数”和“最大用户连接数”。这些字段每一个都接受零(0)或正整数的值。
SSL设置
要使用加密连接,系统中必须有 OpenSSL或 yaSSL。此外,MySQL服务器需要使用 TLS支持构建,并正确配置为使用 OpenSSL或 yaSSL的其中一个。请注意,术语 SSL,指的是在 TLS之前的现在不安全的旧协议。尽管 MySQL仅使用其更安全(TLS)的后继协议,但出于兼容性原因仍在许多变量名和选项中使用。
“SSL类型”下拉字段映射到 mysql.user表的 ssl_type列,该列仅接受某些值:ANY、SPECIFIED和 X509(以及''表示 NONE)。
此外,MySQL GRANT语句还接受 ISSUER、SUBJECT和 CIPHER选项。这些选项可以按任何顺序组合在一起,而且如果你使用它们中的任何一个,则 REQUIRE X509是隐式的。
这是一个 GRANT语句,紧接着等效的 Navicat“高级”选项卡:
GRANT USAGE ON*.* TO'bob_s'@'localhost' REQUIRE SUBJECT'/CN=http://www.mydom.com/O=MyDom, Inc./C=US/ST=Oregon/L=Portland' AND ISSUER'/C=FI/ST=Somewhere/L=City/ O=Some Company/CN=Peter Parker/emailAddress=p.parker@marvel.com' AND CIPHER'SHA-DES-CBC3-EDH-RSA';
Postgresql数据库如何新建登录用户
我们使用Postgresql数据库的时候,默认都是用postgres用户进行数据操作。但是有时为了数据安全,我们会另外建一些账号给相关的工作人员使用。那么Postgresql数据库中如何新建登录用户呢?下面我给大家分享一下。
工具/材料pgAdmin4
01首先打开Postgresql的管理工具pgAdmin4,接着双击服务器名称,如下图所示
02在弹出的Connect to Server界面中输入postgres用户的密码,然后点击OK按钮,如下图所示
03进入到数据库以后右键单击"登录/组角色"选项,选择Create下面的Login/Group Role选项,如下图所示
04接下来会弹出创建登录用户的界面,我们先给用户起一个名字,尽量是英文,如下图所示
05然后切换到Definition页卡,给登录用户设置一个登录密码,如下图所示,注意Connection limit要设置为-1
06接着切换到Privileges界面,这里需要给登录用户设置一下操作权限,大家可以根据自己的需要设置即可,如下图所示
07接下来切换到Membership页卡,给登录用户设置一个角色,这里我直接把管理员的角色给它了,如下图所示
08上述设置完毕以后回到数据库主界面,我们就可以看到"登录/组角色"下面就已经有我们新建的登录用户了,如下图所示
09最后我们断开当前的连接,用新建的用户进行登录,如果登录正常的话则代表一切设置成功,如下图所示
关于数据库创建用户,mysql如何创建新用户的介绍到此结束,希望对大家有所帮助。