您的当前位置:首页正文

mysql--用户管理

2023-11-12 来源:帮我找美食网

主机域唯一指定一个用户

2.用户作用

用户登录-连接数据库管理数据库及数据

3.创建用户

定义用户名 用户名+主机域 定义密码
权限 对不同的对象进行权限或角色定义-- 一次性创建用户并授权 grant 权限 on 权限范围(对象) to 用户 identified by ‘密码‘ grant all on *.* to ‘anyux‘@‘10.0.0.52‘ identified by ‘anyux‘

 

4.角色
--单个权限selectupdateinsertdropcreate---权限集合all (所有权限,除授权权限外)replication slave (从库权限)

 

5.范围
*.* 所有数据库对象test.* 所有test数据库对象test.test test数据库下的test表

6.用户

‘anyux‘@‘localhost‘指定本地连接‘anyux‘@‘10.0.0.53‘指定ip段‘anyux‘@‘10.0.0.%‘指定一个网段的ip‘anyux‘@‘10.0.0.5%‘指定限定ip‘anyux‘@‘%‘指定所有网段可以通过anyux用户名连接数据库危险危险‘anyux‘@‘10.0.0.1__‘指定连接范围为100-199,_(下划线)表示匹配一个字符指定的是客户端的连接要求:1.用户只能过10.网段访问,用户名为oldboy密码为123,2.用户只能对oldboy下的对象进行增、删、改、查grant select,insert,update,create on oldboy.* to ‘oldboy‘@‘10.0.0.%‘ identified by ‘123‘ 查看指定用户权限查看用户权限show grants for ‘oldboy‘@‘10.0.0.%‘;

 

7.删除用户

--方法1#(推荐)drop user ‘oldboy‘@‘10.0.0.%‘--方法2delete from mysql.user where user=‘oldboy‘ and ‘host‘=‘10.0.0.%‘flush privileges--这种方式删除需要使用

  --创建准系统超级管理员  grant all on *.* to ‘sys‘@‘localhost‘ identified by ‘123‘

 

 

8.找回密码

--skip-grant-talbes启动跳过授权表--skip-networking禁止网络连接

--启动数据库服务--以无密码形式连接/application/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking &--此情况下与授权有关的命令无法执行grantrevokedrop usercreate user--使用DML修改5.6数据库 使用password作为密码字段--修改密码update mysql.user set password=password(‘123456‘) where user=‘sys‘ and ‘host‘ = ‘localhost‘--更新表flush privileges;--使用DML修改5.7数据库--唯一的区别是列字段变化了 authentication_string 作为密码字段desc mysql.user;mysql.user表字段修改,可以点击这里,查看5.7的用户表字段

 

9.注意事项

 不要在多个级别上授权 mysql中权限最终是通过综合-来获得最大的权限 只使用一个授权即可

 

10.权限回收

回收权限-revokerevoke 权限 on 范围 to 用户 revoke drop,delete on *.* to ‘sys‘@‘localhost‘

 

mysql--用户管理

标签:系统   注意事项   mysq   ccf   gpo   htm   从库   数据库服务   作用   

小编还为您整理了以下内容,可能对您也有帮助:

如何实现MySQL中的用户管理_MySQL

MySQL有一套先进的但非标准的安全/授权系统,掌握其授权机制是开始操作MySQL数据库必须要走的第一步,对于一个熟悉SQL基本操作的人来说,也是MySQL所有的知识中比较难以理解的一个部分。本文通过揭开其授权系统的运作机制,希望大家能够可以更好地操作和使用这个优秀的数据库系统。

本文主要参考了MySQL安装所附的使用手册第六章中的部分内容。如果有任何疑问,请和我联系(lidong@wh.027.net)

1、授权机制的主要作用是什么?

授权机制的基本作用是给某个主机上的用户对某个数据库以select,insert,update和detete的权限。而其额外的功能还包括是否允许匿名使用数据库,使用MysQL的一些特定函数,如:LOAD DATA INFILE之类。在这里请注意,MySQL中的用户名和Unix系统中的用户名并没有什么关系。虽然许多客户端程序允许你可以用当前的用户名进行登录,但是最标准的做法还是通过--user的选项。

2、授权机制是如何进行运作的?

在MySQL中主机和用户的联合视为唯一标志。比如说,在主机1和主机2上的用户lee实际上是不同的,他们对MySQL的使用权限也可以是有差别的。而整个授权机制的核心问题就是要解决授予从某个主机上登录的某个用户对某个数据库的使用权限。你可以通过脚本mysqlaccess测试一个主机上用户的对数据库操作的权限。而所有的授权信息都被存储在数据库mysql的user、host和db表中。我们可以通过mysql mysql的指令连接到这个数据库中,并且通过select * from user(或者db,host)显示每个数据表中的内容。user表中所授予的权限是整个授权机制的基本授权,也就是说,user中的定义对于任何一个用户 主机来说都是适用的,除非在db表中另外有所定义,因此,对于用户来说最好是就某个数据库为基础进行授权。而host表的主要目的是维护一个“安全”服务器的列表。而在具体考虑某个用户/主机对某个数据库的权限的的时候,我们还需要研究一下授权机制的的匹配搜索机制:

其次,在授权机制中可以对一个用户的口令进行加密,而且是必须加密,加密的方法是password('口令'),如果直接填写口令的话,会导致数据库无法访问。user表中所授予的权限是整个授权机制的基本授权,也就是说,user中的定义对于任何一个用户 主机来说都是适用的,除非在db表中另外有所定义,因此,对于用户来说最好是就某个数据库为基础进行授权。而host表的主要目的是维护一个“安全”服务器的列表。而在具体考虑某个用户/主机对某个数据库的权限的的时候,我们还需要研究一

下授权机制的的匹配搜索机制:

首先,我们需要介绍一下统配符的概念,统配符包括“%”,其意思为任意(的主机、用户或者数据库),而如果一条记录为空的话,也表示任意的意思。其次,在授权机制中可以对一个用户的口令进行加密,而且是必须加密,加密的方法是password('口令'),如果直接填写口令的话,会导致数据库无法访问。

从我们对这三个表的显示我们可以看到,这三个表中的每一条记录包含了对于某个用户的授权情况的描述,MySQL数据库中几个相关的授权机制的数据表被搜索的顺序为:user,db,host。也就是说,我们将首先首先检索user数据表,找到第一个匹配的记录,我们把在user数据表中首先匹配的记录称之为Priv;然后搜索db表,获得相应的授权。如果在db数据表相应记录中host字段的为空,并且Priv记录中主机也被包含在host表的host字段之中,这样的话,对于某个user来说,则可以在user表中加入在host表中的一些为“Y”的权限设定。如果在db表中的host字段不为空的话,那么也就不会对该用户/主机的授权产生什么影响了。

了解了这一点之后,我们需要讨论在各个数据表中的记录的搜索的优先权的问题,也就是说,怎样确定第一匹配的记录,这并不是按照数据表中的记录的自然先后顺序来确定的。在各个数据表内的各条记录的优先权排列如下:

(1)user表:根据先host后user的顺序确定。搜索规则如下:不包含统配符的记录,包含统配符的记录,空记录。而在同样一个host里面,继续按照user来排列,规则和上述的一样。

(2)db表:检索的顺序根据host字段确定:不包含统配符的记录,包含统配符的记录,空记录。

(3)host表:检索的顺序根据host字段确定:不包含统配符的记录,包含统配符的记录,空记录。我们用下面的例子来说明进行匹配搜索的规则:请记住如果你更改了这些数据表,你必须使用mysqladmin reload使其生效。

下面是演示系统是如何进行搜索的:

----------- --------- -

| Host | User | ...

----------- --------- -

| % | root | ...

| % | jeffrey | ...

| localhost | root | ...

| localhost | | ...

----------- --------- -

搜索的顺序应当是:

localhost/root

localhost/any

any/jeffrey

any/root

这样,如果在localhost的用户jeffrey要连接数据库的话,那么其授权应当根据localhost/“任意” 行所规定的权限而非“任意”/jeffrey行所规定的权限,请大家注意这一点,因为如果不合适的配置完全可能会使得你无法正常地使用这个数据库系统。

我们现在来看一个添加一个用户的例子:需要添加一名叫做“custom”用户,他分别从主机'localhost', 'server.domain' 和 'whitehouse.gov'连接到数据库中,他的口令为“stupid”,对于数据库'bankaccount'他只想从“localhost”进行访问,而“customer”数据库则应当被上述3个主机所访问。我们通过以下的sql语句来完成其操

作。

shell> mysql mysql.

mysql> insert into user (host,user,password)

values('localhost','custom',password('stupid'));

mysql> insert into user (host,user,password)

values('server.domain','custom',password('stupid'));

mysql> insert into user (host,user,password)

values('whitehouse.gov','custom',password('stupid'));

mysql> insert into db

(host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,

Create_priv,Drop_priv)

values

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

mysql> insert into db

(host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,

Create_priv,Drop_priv)

values

('%','customers','custom','Y','Y','Y','Y','Y','Y');

3、授权数据表

授权数据表对表的行操作包括select,insert,update和delete,对表和数据库的操作包括create和drop。其它的授权还包括如LOAD DATA INFILE和SELECT INTO OUTFILE和管理命令:shutdown, reload, refresh 和process.三个授权数据表的结构如下所示:

user表

字段 类型 健 默认值

Host char(60) PRI ""

User char(16) PRI ""

Password char(16) - ""

Select_priv enum('N','Y') - N

Insert_priv enum('N','Y') - N

Update_priv enum('N','Y') - N

Delete_priv enum('N','Y') - N

Create_priv enum('N','Y') - N

Drop_priv enum('N','Y') - N

Reload_priv enum('N','Y') - N

Shutdown_priv enum('N','Y') - N

Process_priv enum('N','Y') - N

File_priv enum('N','Y') - N

db表

字段 类型 健 默认值

Host char(60) PRI ""

Db char(64) PRI ""

User char(16) PRI ""

Select_priv enum('N','Y') - N

Insert_priv enum('N','Y') - N

Update_priv enum('N','Y') - N

Delete_priv enum('N','Y') - N

Create_priv enum('N','Y') - N

Drop_priv enum('N','Y') - N

host 表只有在db的数据项中出现host为空的情况下使用。

字段 类型 健 默认值

Host char(60) PRI ""

Db char(64) PRI ""

Select_priv enum('N','Y') - N

Insert_priv enum('N','Y') - N

Update_priv enum('N','Y') - N

Delete_priv enum('N','Y') - N

Create_priv enum('N','Y') - N

Drop_priv enum('N','Y') - N

在数据表中可以使用统配符号。

4、最常见的Access denied出现错误的原因

(1)你是否通过mysql_install_db脚本建立mySQL的授权表,你可以通过mysql -u root进行测试,正确的情况下应该不会发生错误。或者,你是否有一个文件为:user.ISD,通常其位置在install_dir/var/mysql/user.ISD。

(2)最初使用的时候你应该使用mysql -u root mysql以存取数据库,或者以root身份进行操作。

(3)更改了授权之后是否使用了mysqladmin reload进行了更新?

(4)在以测试为目的的时候,你应当选用--without-grant-tables选项启动mysqld服务,你可以在这时更改授权表的相关内容,也可以用mysqlaccess检查你的授权是否到位。

(5)没有使用password("口令")设定了口令,结果也会出现错误,在使用-p的选项的时候,注意-ppassword之间没有空格。

5、如何使得MySQL更加安全?

(1)为每个MySQL用户使用口令。记住,如果你不加设口令的话,其他人可以通过

mysql --user other_user database的方式访问你的数据库,在使用MySQL进行检测的时候系统也会给你相应的警告信息。

(2)不要用root方式启动MySQL服务。MySQL可以以任何用户启动。你可以通过添加一个新用户的方式来启动数据库服务。这也不会对系统造成任何影响,因为MySQL的用户和Unix的用户根本来说就使不同的。

(3)不要把'Process_priv','File_priv'等权限授予任何人。

(4)如果你不信任你的DNS,你应当使用IP来取代主机名。在任何情况下都要小心带匹佩符的主机名。以下的一些选项可以影响到你的系统的安全:

--secure

顾名思义,可以使系统根加安全,因为它可以检查IP地址的一致性。(实际连接IP地址和通过解析的IP地址),不过这使得mySQL在防火墙工作的时候很难被防火墙外的人所访问。

--skip-grant-tables

一般情况下不要使用这个选项,这可以试的任何人不受地访问你的系统。

--skip-name-resolve

不进行主机名的解析。在授权数据表中的所有主机名必须为ip地址或者'localhost'.

--skip-networking

不允许通过网络进行连接。所有的连接必须通过Unix Socket。

mysql怎样对用户做安全性管理

你可以这样操作。

如果MYSQL客户端和服务器端的连接需要跨越并通过不可信任的网络,那么需要使用ssh隧道来加密该连接的通信。

使用set password语句来修改用户的密码,先“mysql -u root”登陆数据库系统,然后“mysql> update mysql.user set password=password(‘newpwd’)”,最后执行“flush privileges”就可以了。

Mysql需要提防的攻击有,防偷听、篡改、回放、拒绝服务等,不涉及可用性和容错方面。对所有的连接、查询、其他操作使用基于acl即访问控制列表的安全措施来完成。也有一些对ssl连接的支持。

设置除了root用户外的其他任何用户不允许访问mysql主数据库中的user表;加密后存放在user表中的加密后的用户密码一旦泄露,其他人可以随意用该用户名/密码相应的数据库;

使用grant和revoke语句来进行用户访问控制的工作;

不要使用明文密码,而是使用md5()和sha1()等单向的哈系函数来设置密码;

不要选用字典中的字来做密码;

采用防火墙可以去掉50%的外部危险,让数据库系统躲在防火墙后面工作,或放置在dmz区域中;

从因特网上用nmap来扫描3306端口,也可用telnet server_host 3306的方法测试,不允许从非信任网络中访问数据库服务器的3306号tcp端口,需要在防火墙或路由器上做设定;

为了防止被恶意传入非法参数,例如where id=234,别人却输入where id=234 or 1=1导致全部显示,所以在web的表单中使用”或”"来用字符串,在动态url中加入%22代表双引号、%23代表井号、%27代表单引号;传递未检查过的值给mysql数据库是非常危险的;

在传递数据给mysql时检查一下大小;

应用程序需要连接到数据库应该使用一般的用户帐号,开放少数必要的权限给该用户;

在各编程接口(c c++ php perl java jdbc等)中使用特定‘逃脱字符’函数;在因特网上使用mysql数据库时一定少用传输明文的数据,而用ssl和ssh的加密方式数据来传输;

学会使用tcpmp和strings工具来查看传输数据的安全性,例如tcpmp -l -i eth0 -w -src or dst port 3306 strings。以普通用户来启动mysql数据库服务;

不使用到表的联结符号,选用的参数 –skip-symbolic-links;

确信在mysql目录中只有启动数据库服务的用户才可以对文件有读和写的权限;

不许将process或super权限付给非管理用户,该mysqladmin processlist可以列举出当前执行的查询文本;super权限可用于切断客户端连接、改变服务器运行参数状态、控制拷贝复制数据库的服务器;

file权限不付给管理员以外的用户,防止出现load data ‘/etc/passwd’到表中再用select 显示出来的问题;

如果不相信dns服务公司的服务,可以在主机名称允许表中只设置ip数字地址;

使用max_user_connections变量来使mysqld服务进程,对一个指定帐户限定连接数;

grant语句也支持资源控制选项;

启动mysqld服务进程的安全选项开关,–local-infile=0或1 若是0则客户端程序就无法使用local load data了,赋权的一个例子grant insert(user) on mysql.user to ‘user_name’@'host_name’;若使用–skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用 mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放,可以用–skip-show-databases来关闭掉。

碰到error 1045(28000) access denied for user ‘root’@'localhost’ (using password:no)错误时,你需要重新设置密码,具体方法是:先用–skip-grant-tables参数启动mysqld,然后执行 mysql -u root mysql,mysql>update user set password=password(‘newpassword’) where user=’root’;mysql>flush privileges;,最后重新启动mysql就可以了。

mysql怎样对用户做安全性管理

你可以这样操作。

如果MYSQL客户端和服务器端的连接需要跨越并通过不可信任的网络,那么需要使用ssh隧道来加密该连接的通信。

使用set password语句来修改用户的密码,先“mysql -u root”登陆数据库系统,然后“mysql> update mysql.user set password=password(‘newpwd’)”,最后执行“flush privileges”就可以了。

Mysql需要提防的攻击有,防偷听、篡改、回放、拒绝服务等,不涉及可用性和容错方面。对所有的连接、查询、其他操作使用基于acl即访问控制列表的安全措施来完成。也有一些对ssl连接的支持。

设置除了root用户外的其他任何用户不允许访问mysql主数据库中的user表;加密后存放在user表中的加密后的用户密码一旦泄露,其他人可以随意用该用户名/密码相应的数据库;

使用grant和revoke语句来进行用户访问控制的工作;

不要使用明文密码,而是使用md5()和sha1()等单向的哈系函数来设置密码;

不要选用字典中的字来做密码;

采用防火墙可以去掉50%的外部危险,让数据库系统躲在防火墙后面工作,或放置在dmz区域中;

从因特网上用nmap来扫描3306端口,也可用telnet server_host 3306的方法测试,不允许从非信任网络中访问数据库服务器的3306号tcp端口,需要在防火墙或路由器上做设定;

为了防止被恶意传入非法参数,例如where id=234,别人却输入where id=234 or 1=1导致全部显示,所以在web的表单中使用”或”"来用字符串,在动态url中加入%22代表双引号、%23代表井号、%27代表单引号;传递未检查过的值给mysql数据库是非常危险的;

在传递数据给mysql时检查一下大小;

应用程序需要连接到数据库应该使用一般的用户帐号,开放少数必要的权限给该用户;

在各编程接口(c c++ php perl java jdbc等)中使用特定‘逃脱字符’函数;在因特网上使用mysql数据库时一定少用传输明文的数据,而用ssl和ssh的加密方式数据来传输;

学会使用tcpmp和strings工具来查看传输数据的安全性,例如tcpmp -l -i eth0 -w -src or dst port 3306 strings。以普通用户来启动mysql数据库服务;

不使用到表的联结符号,选用的参数 –skip-symbolic-links;

确信在mysql目录中只有启动数据库服务的用户才可以对文件有读和写的权限;

不许将process或super权限付给非管理用户,该mysqladmin processlist可以列举出当前执行的查询文本;super权限可用于切断客户端连接、改变服务器运行参数状态、控制拷贝复制数据库的服务器;

file权限不付给管理员以外的用户,防止出现load data ‘/etc/passwd’到表中再用select 显示出来的问题;

如果不相信dns服务公司的服务,可以在主机名称允许表中只设置ip数字地址;

使用max_user_connections变量来使mysqld服务进程,对一个指定帐户限定连接数;

grant语句也支持资源控制选项;

启动mysqld服务进程的安全选项开关,–local-infile=0或1 若是0则客户端程序就无法使用local load data了,赋权的一个例子grant insert(user) on mysql.user to ‘user_name’@'host_name’;若使用–skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用 mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放,可以用–skip-show-databases来关闭掉。

碰到error 1045(28000) access denied for user ‘root’@'localhost’ (using password:no)错误时,你需要重新设置密码,具体方法是:先用–skip-grant-tables参数启动mysqld,然后执行 mysql -u root mysql,mysql>update user set password=password(‘newpassword’) where user=’root’;mysql>flush privileges;,最后重新启动mysql就可以了。

用户账户怎样管理?

用户账户管理也就是对数据系统中存在的账户的管理,包括修改账户密码、创建新账户、删除账户、给新账户赋权等方面,也是数据库管理工作方面的一个重要组成部分。修改账户密码在cmd命令行下进入MySQL服务器安装目录(根目录)的bin目录下,找到mysqladmin.exe文件。

根据应对文件,用如下命令修改密码:mysqladmin−u用户名−p旧密码password新密码例如,把root账号密码修改为“123”,命令为mysqladmin−uroot−prootpassword123用修改后的密码测试能否正常登录,如能正常登录,则表示修改密码成功,操作过程如图修改密码操作所示

修改密码操作

创建新账户1.命令行操作在cmd命令行用某个用户登录MySQL服务器后,用下面语句可创建新用户,前提是登录的用户必须有创建用户的权限,一般是用root用户登录后来创建新用户。

命令行创建新用户的语法格式:CREATEUSER'username'@'host'IDENTIFIEDBY'password'其中,host表示可登录此账号的IP;

如果授权所有的IP均可登录,则用“%”通配符表示;

IDENTIFIEDBY后面跟新建账号的密码。

例如,以下的语句分别创建test、pig、abc账号,密码均为“1234”。

CREATEUSER'test'@'localhost'IDENTIFIEDBY'1234'CREATEUSER'pig'@'192.168.0.100'IDENTIFIEDBY'1234'CREATEUSER'abc'@'%'IDENTIFIEDBY'1234'用新创建的账户、密码测试能否正常登录,如能正常登录,则表示新账号创建成功,操作过程如图创建新账户操作所示

创建新账户操作

2.GUI客户端操作打开GUI客户端程序选择项,选择MySQLAdministrator窗口,如图打开管理窗口所示,并按提示进行相关的登录操作。

登录后,在跳出的界面中,选择用户管理项“UserAdministration”,如图用户管理项所示;在打开的对话框中选择创建用户按钮“Addnewuser”,如图创建用户按钮所示。

打开管理窗口

用户管理项

创建用户按钮

在跳出的新界面中,填写好用户名与密码,确认密码后,单击按钮“Applychanges”即可,如图用户参数设置项所示。

用户参数设置项

至此一个新用户,即通过GUI客户端工具的方式创建完毕,可用其进行登录操作。给新账户赋权1.命令行操作在cmd命令行用某个用户登录MySQL服务后,用下面语句可给新用户赋权,能够赋权的前提是登录的用户必须有赋权的权限,一般是用root用户登录后来给新用户赋权。

命令行给用户赋权语法格式:GRANT操作权限ON数据库名.表名TO用户名@登录IP其中,用户的操作权限,如SELECT、INSERT、UPDATE、DELETE、CREATE、DROP,如果要授予所有的权限则使用ALL;如果要授予该用户对所有数据库和所有表的相应操作权限则可用*表示,如*.*。删除用户在cmd命令行用某个用户登录MySQL服务器后,用下面的方式能够删除某个用户,能够删除某个用户的前提是登录的用户必须有删除这个用户的权限,一般是用root用户登录后来操作。

方式一:命令行删除用户格式。DROPUSER'username'@'host’其中,host需与授权时的范围一致。

用户账户怎样管理?

用户账户管理也就是对数据系统中存在的账户的管理,包括修改账户密码、创建新账户、删除账户、给新账户赋权等方面,也是数据库管理工作方面的一个重要组成部分。修改账户密码在cmd命令行下进入MySQL服务器安装目录(根目录)的bin目录下,找到mysqladmin.exe文件。

根据应对文件,用如下命令修改密码:mysqladmin−u用户名−p旧密码password新密码例如,把root账号密码修改为“123”,命令为mysqladmin−uroot−prootpassword123用修改后的密码测试能否正常登录,如能正常登录,则表示修改密码成功,操作过程如图修改密码操作所示

修改密码操作

创建新账户1.命令行操作在cmd命令行用某个用户登录MySQL服务器后,用下面语句可创建新用户,前提是登录的用户必须有创建用户的权限,一般是用root用户登录后来创建新用户。

命令行创建新用户的语法格式:CREATEUSER'username'@'host'IDENTIFIEDBY'password'其中,host表示可登录此账号的IP;

如果授权所有的IP均可登录,则用“%”通配符表示;

IDENTIFIEDBY后面跟新建账号的密码。

例如,以下的语句分别创建test、pig、abc账号,密码均为“1234”。

CREATEUSER'test'@'localhost'IDENTIFIEDBY'1234'CREATEUSER'pig'@'192.168.0.100'IDENTIFIEDBY'1234'CREATEUSER'abc'@'%'IDENTIFIEDBY'1234'用新创建的账户、密码测试能否正常登录,如能正常登录,则表示新账号创建成功,操作过程如图创建新账户操作所示

创建新账户操作

2.GUI客户端操作打开GUI客户端程序选择项,选择MySQLAdministrator窗口,如图打开管理窗口所示,并按提示进行相关的登录操作。

登录后,在跳出的界面中,选择用户管理项“UserAdministration”,如图用户管理项所示;在打开的对话框中选择创建用户按钮“Addnewuser”,如图创建用户按钮所示。

打开管理窗口

用户管理项

创建用户按钮

在跳出的新界面中,填写好用户名与密码,确认密码后,单击按钮“Applychanges”即可,如图用户参数设置项所示。

用户参数设置项

至此一个新用户,即通过GUI客户端工具的方式创建完毕,可用其进行登录操作。给新账户赋权1.命令行操作在cmd命令行用某个用户登录MySQL服务后,用下面语句可给新用户赋权,能够赋权的前提是登录的用户必须有赋权的权限,一般是用root用户登录后来给新用户赋权。

命令行给用户赋权语法格式:GRANT操作权限ON数据库名.表名TO用户名@登录IP其中,用户的操作权限,如SELECT、INSERT、UPDATE、DELETE、CREATE、DROP,如果要授予所有的权限则使用ALL;如果要授予该用户对所有数据库和所有表的相应操作权限则可用*表示,如*.*。删除用户在cmd命令行用某个用户登录MySQL服务器后,用下面的方式能够删除某个用户,能够删除某个用户的前提是登录的用户必须有删除这个用户的权限,一般是用root用户登录后来操作。

方式一:命令行删除用户格式。DROPUSER'username'@'host’其中,host需与授权时的范围一致。

为什么mysql需要用户管理

MySQL 是一个多用户数据库,具有功能强大的访问控制系统,可以为不同用户指定不同权限。为了实际项目的需要,可以创建拥有不同权限的普通用户。

如何用phpmyadmin设置mysql数据库用户的权限

第1步:打开phpMyAdmin,点击菜单栏的【用户】按钮,进入用户管理页面。

第2步:用户管理页面列出了现有用户信息,点击【添加用户】创建新用户。

第3步:输入用户名【User name】。有两个选项:任意用户、使用文本域,它们之间没有明显区别,推荐选择“使用文本域”,然后在文本框中输入用户名,如sky。

第4步:输入主机【Host】信息。这里有四个选项:任意主机(%)、本地( localhost)、使用主机表(host)、Use text field(即使用文本域)。

任意主机表示匹配所有主机;本地表示仅限本地主机(默认填写localhost);使用主机指以MySQL数据库中的host表中的数据为准,不需填写任何信息(如果填写则此选项无效);使用文本域表示自行填写主机地址信息。此处选择“本地”选项。

第5步:输入密码和Re-type(确认密码)。有两个选项:无密码、使用文本域。此处选择“使用文本域”,可以手动输入密码,也可以点击【生成】按钮,自动生成密码并在最下方文本框中显示。

第6步:为用户分配权限。权限管理分为两大块:用户数据库和全局权限。

用户数据库包括两个选项:创建与用户同名的数据库并授予所有权限;给以用户名_开通的数据库授予所有权限。可根据需要自行选择。此处两个都未选,仅创建新用户。

全局权限包括四部分:数据、结构、管理和资源。可根据需要自行选择。这里我选择了“全选”。

第7步:权限分配好后,点击右下角的【执行】按钮,执行创建新用户操作。

2. 编辑用户权限

第1步:进入phpMyAdmin用户管理页面,我们可以看到刚才创建的用户sky,如图所示。

第2步:点击用户sky对应的【编辑权限】按钮,进入编辑页面。

第3步:根据需要修改勾选权限选项后,点击【执行】按钮保存修改。

3. 修改用户信息

第1步:用户的用户名、主机、密码等信息的修改也在“编辑权限”页面。所以首先也要点击用户sky对应的【编辑权限】按钮,进入编辑页面。

第2步:修改用户信息主要涉及“修改密码”和“修改登录信息/复制用户”两块,分别填写相应内容,并点击对应的【执行】按钮完成操作即可。

4. 删除用户

第1步:进入phpMyAdmin用户管理页面,选中需要删除的用户,以sky为例。

第2步:点击右下角的【执行】按钮,删除用户sky。如果创建用户时选择了“创建与用户同名的数据库并授予所有权限”选项,则可以勾选【删除选中的用户】模块中的“删除与用户同名的数据库”,将数据库和用户一起删除。

Top