扬州城市论坛 百科 数据库基础:MySQL 添加用户的两种方法

数据库基础:MySQL 添加用户的两种方法

添加用户有两种不同的方式:使用GRANT语句或者直接操作mysql授权表。更好的方法是使用GRANT语句,因为它们更简洁,似乎错误更少。

以下示例显示了如何使用MySQL客户安装新用户。这些示例假定权限是默认安装的。这意味着,为了进行更改,您必须在运行MySQL的同一台计算机上,您必须以MySQL root用户的身份进行连接,并且root用户必须拥有对MySQL数据库的insert权限和reload管理权限。此外,如果您更改root密码,您必须使用以下MySQL命令指定它。

您可以通过发出GRANT语句来添加新用户:

shell mysql - user=root mysql

mysql授予*上的所有权限。*到monty@localhost

由带有授予选项的“某物”标识;

mysql授予*上的所有权限。*给蒙蒂@'% '

由带有授予选项的“某物”标识;

mysql授权重新加载,在*上处理。*到admin @ localhost

*上的mysql授权使用。* TO dummy @ localhost

这些授权声明安装了3个新用户:

Monty:一个完全的超级用户,可以从任何地方连接到服务器,但是必须使用密码(“某个东西”)才能做到。注意,我们必须向monty@localhost和monty@'% '发出GRANT语句。如果我们添加localhost条目,当我们从本地主机连接时由mysql_install_db创建的localHost的匿名用户条目将被赋予优先权,因为它具有更具体的主机字段值,所以它在用户表的顺序中排在前面。

Admin:无需密码即可从本地主机连接的用户,被授予重新加载和处理的管理权限。这允许用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,以及mysqladmin processlist。没有授予任何与数据库相关的权限。他们可以稍后通过发布另一个GRANT语句来授权它。

Dummy:不需要密码就可以连接的用户,但只能从本地主机连接。全局权限设置为“n”-使用权限类型允许您设置没有权限的用户。它假设您将来会授予与数据库相关的权限。

您还可以通过发出INSERT语句直接添加相同的用户访问信息,然后告诉服务器再次加载授权表:

shell mysql - user=root mysql

mysql插入用户值(' localhost '' monty '密码(' something '),

' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y ')

mysql插入到用户值(' % '' monty '密码(' something '),

' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y '' Y ')

mysql插入用户集Host='localhost 'User='admin '

Reload_priv='Y 'Process _ priv=' Y

mysql插入用户(主机、用户、密码)

值(' localhost '' dummy '' ');

mysql FLUSH特权;

根据您的MySQL版本,您可能需要为上述内容使用不同数量的“y”值(3.22.11之前的版本权限列较少)。对于管理员用户,只使用从3.22.11开始版本的可读性更强的插入扩展语法。

请注意,为了设置超级用户,您只需要创建一个用户表条目,并将其权限字段设置为“y”。不需要数据库或主机表的条目。

用户表中的权限列不是由最后一个INSERT语句显式设置的(对于虚拟用户),因此这些列被赋予默认值‘n’。这和GRANT USAGE做的事情是一样的。

以下示例添加一个用户自定义,该用户可以从主机localhost、server.domain和whitehouse.gov进行连接。他只想从本地主机访问bankaccount数据库,从whitehouse.gov主机访问expenses数据库,从所有三台主机访问customer数据库。他想使用所有三台主机的密码存根。

要使用GRANT语句为用户设置权限,请运行以下命令:

shell mysql - user=root

mysql mysql GRANT选择、插入、更新、删除、创建、删除

在银行账户上。*

到custom@localhost

用‘笨’来标识;

mysql授权选择、插入、更新、删除、创建、删除

关于费用。*

去custom@whitehouse.gov

用‘笨’来标识;

mysql授权选择、插入、更新、删除、创建、删除

在客户身上。*

自定义@'% '

用‘笨’来标识;

通过直接修改授权表来设置用户权限,并运行以下命令(注意,最后是刷新权限):

shell mysql - user=root

mysql mysql插入用户(主机、用户、密码)

值(' localhost '' custom 'PASSWORD('愚蠢'));

关系型数据库插入用户(主机、用户、密码)

值(' server.domain '' custom 'PASSWORD('愚蠢'));

关系型数据库插入用户(主机、用户、密码)

值(' whitehouse.gov ''自定义'密码('愚蠢');

关系型数据库插入数据库

(主机,数据库,用户,选择权限,插入权限,更新权限,删除权限,

Create_priv,Drop_priv)

价值观念

(' localhost '' bankaccount '' custom '' Y '' Y '' Y '' Y ');

关系型数据库插入数据库

(主机,数据库,用户,选择权限,插入权限,更新权限,删除权限,

Create_priv,Drop_priv)

价值观念

(' whitehouse.gov ''费用''风俗'' Y '' Y '' Y '' Y ');

关系型数据库插入数据库

(主机,数据库,用户,选择权限,插入权限,更新权限,删除权限,

Create_priv,Drop_priv)

值(' % ''客户''自定义、‘Y’、‘Y’、‘Y’、‘Y’);

mysql同花顺特权;

头3个插入语句增加用户表条目,允许用户习俗用给定口令从不同的主机进行连接,但是没有授予任何许可(所有权限被设置为缺省值n’)。后3个插入语句增加表条目,授予习俗以银行账户、费用和顾客数据库权限,但是只能在从正确的主机存取时。通常,在授权表直接被修改时,服务器必须被告知再次装入他们(用刷新权限)以便使权限修改生效。如果你想要给特定的用户从一个给定的域上的任何机器上存取权限,你可以发出一个如下的同意语句:

关系型数据库授权.

在*。*

到我的用户名@'%.mydomainname.com '

由"我的密码"标识;

为了通过直接修改授权表做同样的事情,这样做:

mysql插入到用户值(" %.mydomainname.com "," myusername ",

密码('我的密码'),);

mysql同花顺特权;

你也可以使用xmysqladmin、mysql_webadmin甚至xmysql在授权表中插入、改变和更新值。你可以在关系型数据库的贡献目录找到这些实用程序。

本文来自网络,不代表本站立场,转载请注明出处:https://baike.yzcslt.com/n/a6088.html

数据库基础:MySQL,添加用户的两种方法

扬州城市论坛后续将为您提供丰富、全面的关于数据库基础:MySQL,添加用户的两种方法内容,让您第一时间了解到关于数据库基础:MySQL,添加用户的两种方法的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。