mysql语句的授权

grant all privileges on   *.* to root@"%" identified by '123' with grant option;   flush privileges;    

它的意思是给从任意ip地址连接的用户名为root,密码为123的用户赋予所有的权限。其中的"%"为任意的ip地址,如果想设为特定的值也可以设定为特定的值。 执行了该语句后就可以在其他机器上以root:123访问到该机器上了

 

 

mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

 

mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

 

 

通过MySQL命令行,可以修改MySQL数据库的密码,下面就为您详细介绍该MySQL命令行,如果您感兴趣的话,不妨一看。

格式:mysqladmin -u用户名 -p旧密码 password 新密码

1、给root加个密码ab12。首先在DOS下进入目录mysql\bin,然后键入以下命令
    mysqladmin -u root -password ab12
    注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

2、再将root的密码改为djg345。
    mysqladmin -u root -p ab12 password djg345

(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)

3、命令行修改root密码:
    mysql> UPDATE mysql.user SET password=PASSWORD(’新密码’) WHERE User=’root’;
    mysql> FLUSH PRIVILEGES;

4、显示当前的user:
mysql> SELECT USER();

转载于:https://www.cnblogs.com/chenkg/p/4378632.html

<think>好的,我现在需要处理用户关于MySQL数据库用户授权语法和示例的查询。用户明确要求授权相关的语句和示例,所以我需要先回忆和整理相关的MySQL授权知识。 首先,我记得MySQL中使用GRANT语句来进行用户授权。GRANT的基本语法结构应该是GRANT后面跟权限列表,然后是ON指定数据库和表,接着是TO用户,并可能包含IDENTIFIED BY设置密码,最后可能有WITH GRANT OPTION。不过需要确认具体语法是否正确,比如权限是否需要逗号分隔,数据库和表的表示方法,比如*.*代表所有数据库和表,以及主机部分的处理,比如'user'@'host'。 然后,用户可能需要一些具体的示例。例如,授予某个用户对特定数据库的所有权限,或者只授予SELECT、INSERT权限。另外,WITH GRANT OPTION的使用场景也需要解释清楚,说明这个选项允许用户将自己的权限授予他人。 接下来,需要检查是否有常见的错误点需要注意,比如授权后是否必须执行FLUSH PRIVILEGES来刷新权限。根据引用[2]中的内容,他们在修改密码后执行了FLUSH PRIVILEGES,这可能意味着在授权后也需要这个操作,但实际上GRANT语句通常会自动生效,除非手动修改了授权表,可能需要显式刷新。这点需要明确说明,避免用户混淆。 另外,用户可能对权限的范围有疑问,比如如何限制用户只能从特定主机访问。引用[2]中提到用户root的权限设置,可能涉及到主机部分,比如'root'@'localhost',所以在示例中应该包含主机名的部分,如'username'@'localhost'或使用'%'允许所有主机。 还需要注意权限的层级,比如全局权限、数据库级、表级、列级等。例如,GRANT SELECT ON database.*表示授予数据库级别的SELECT权限,而GRANT SELECT (column) ON database.table则更细化到列。 然后,查看用户提供的引用内容。引用[3]提到语法结构中的关键字大写和可选项,可能需要注意语法格式的正确性,比如CHARACTER SET和COLLATE,但这些可能与授权无关,但需要确保GRANT语句的语法正确。 另外,用户可能需要撤销权限的命令,即REVOKE,虽然用户没有直接问,但作为相关问题可以提及,或者在回答中简要说明。 现在需要组织这些信息,以清晰的结构呈现,先给出基本语法,再提供多个示例,并附上注意事项。同时,根据用户提供的引用,引用[2]中的FLUSH PRIVILEGES可能在修改权限后需要执行,但GRANT通常不需要,除非手动修改表。因此需要说明是否需要执行该命令。 还需要验证语法是否正确,比如GRANT权限列表是否需要逗号分隔,ON子句的正确格式,以及IDENTIFIED BY是否在GRANT语句中有效。例如,MySQL是否允许在GRANT中同时创建用户并设置密码,或者是否需要先创建用户再授权。根据MySQL版本的不同,可能有所变化,但通常GRANT可以创建用户如果不存在,前提是使用IDENTIFIED BY。 例如,GRANT SELECT ON db.* TO 'user'@'host' IDENTIFIED BY 'password'; 这样的语句在旧版本中可以创建用户,但新版本可能需要先创建用户。因此,可能需要分步骤说明,先创建用户再授权,或者确认当前版本的做法。不过用户可能只需要标准的语法示例,所以可以给出常见的写法,并提示如果用户不存在需要先创建。 最后,生成相关问题,可能包括如何撤销权限、查看权限、处理权限错误等。</think>### MySQL数据库用户授权语法及示例 MySQL通过`GRANT`语句实现用户权限管理,支持精确控制用户对数据库对象的访问权限[^2][^3]。 #### 基础语法 ```sql GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名' [IDENTIFIED BY '密码'] [WITH GRANT OPTION]; ``` - **权限列表**:`SELECT`, `INSERT`, `UPDATE`, `ALL PRIVILEGES`等,多个权限用逗号分隔 - **数据库名.表名**:`*.*`表示所有库表,`testdb.*`表示某库所有表 - **主机名**:`localhost`表示本地访问,`%`表示允许任意主机访问 - `WITH GRANT OPTION`:允许用户将自身权限授予他人 #### 常用示例 1. **授予全局权限** 允许用户`admin`从任意主机管理所有数据库: ```sql GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'Admin@1234' WITH GRANT OPTION; ``` 2. **授予数据库级权限** 允许用户`dev_user`本地访问`mydb`库的所有表: ```sql GRANT SELECT, INSERT, UPDATE ON mydb.* TO 'dev_user'@'localhost' IDENTIFIED BY 'Dev@2023'; ``` 3. **授予表级权限** 允许用户`report`读取`sales.orders`表: ```sql GRANT SELECT ON sales.orders TO 'report'@'192.168.1.%' IDENTIFIED BY 'Report#2023'; ``` 4. **刷新权限缓存** 修改权限后建议执行: ```sql FLUSH PRIVILEGES; -- 使权限变更立即生效 ``` #### 注意事项 1. 新用户需先创建后授权,或直接在`GRANT`语句中指定密码自动创建 2. 使用`SHOW GRANTS FOR '用户'@'主机'`查看已有权限 3. 撤销权限使用`REVOKE`语句,语法结构与`GRANT`类似
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值