来源:http://www.cnblogs.com/analyzer/articles/1045072.html

首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。

注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。
    用户:phplamp  用户数据库:phplampDB

1.新建用户。

//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:phplamp  密码为:1234  的用户。

然后登录一下。

mysql>exit;
@>mysql -u phplamp -p
@>输入密码
mysql>登录成功

2.为用户授权。

//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
//授权phplamp用户拥有phplamp数据库的所有权限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作

/*
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表。
mysql>flush privileges;
*/

3.删除用户。
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;

4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;

误解:

在做 dvwa 的 SQL 入侵演练时,通过如下 grant 语句后依然没有权限,以至于以为 grant 语句失效。

先新建一个用户,用户名和密码都是 gqltt

@>mysql -u root

mysql>grant all privileges on dvwa.* to gqltt@localhost identified by 'gqltt' with grant option;

mysql>flush privileges;

如下表明 grant 已经成功:

mysql> select * from mysql.user where user='gqltt' \G;
*************************** 1. row ***************************
Host: localhost
User: gqltt
Password: *1A1A4491309AD204398CD4AA6FD550C1799D3403
Select_priv: N
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: N
Drop_priv: N
Reload_priv: N
Shutdown_priv: N
Process_priv: N
File_priv: N
Grant_priv: N
References_priv: N
Index_priv: N
Alter_priv: N
Show_db_priv: N
Super_priv: N
Create_tmp_table_priv: N
Lock_tables_priv: N
Execute_priv: N
Repl_slave_priv: N
Repl_client_priv: N
Create_view_priv: N
Show_view_priv: N
Create_routine_priv: N
Alter_routine_priv: N
Create_user_priv: N
Event_priv: N
Trigger_priv: N
Create_tablespace_priv: N
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin:
authentication_string:
1 row in set (0.00 sec)
mysql> show grants for gqltt@localhost;
+-------------------------------------------------------------------------------
-------------------------------+
| Grants for gqltt@localhost
|
+-------------------------------------------------------------------------------
-------------------------------+
| GRANT USAGE ON *.* TO 'gqltt'@'localhost' IDENTIFIED BY PASSWORD '*1A1A4491309
AD204398CD4AA6FD550C1799D3403' |
| GRANT ALL PRIVILEGES ON `dvwa`.* TO 'gqltt'@'localhost' WITH GRANT OPTION
|
+-------------------------------------------------------------------------------
-------------------------------+
2 rows in set (0.01 sec)
mysql> select * from information_schema.schema_privileges where grantee="'gqltt'
@'localhost'";
+---------------------+---------------+--------------+-------------------------+
--------------+
| GRANTEE             | TABLE_CATALOG | TABLE_SCHEMA | PRIVILEGE_TYPE          |
IS_GRANTABLE |
+---------------------+---------------+--------------+-------------------------+
--------------+
| 'gqltt'@'localhost' | def           | dvwa         | SELECT                  |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | INSERT                  |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | UPDATE                  |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | DELETE                  |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | CREATE                  |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | DROP                    |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | REFERENCES              |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | INDEX                   |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | ALTER                   |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | CREATE TEMPORARY TABLES |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | LOCK TABLES             |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | EXECUTE                 |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | CREATE VIEW             |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | SHOW VIEW               |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | CREATE ROUTINE          |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | ALTER ROUTINE           |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | EVENT                   |
YES          |
| 'gqltt'@'localhost' | def           | dvwa         | TRIGGER                 |
YES          |
+---------------------+---------------+--------------+-------------------------+
--------------+
18 rows in set (0.00 sec)

如果在 dvwa 演示程序中,用 gqltt 连接 DB ,则如下 sql 注入无法操作:

http://localhost:8081/dvwa/vulnerabilities/sqli/?id=1' union select user, password from mysql.user -- &Submit=Submit#

认真想想也是 gqltt 用户只有数据库 dvwa 的所有权限,当然无法查询数据库 mysql 的 user 表。

如果想让一个用户有像 root 一样的权限,如下操作

mysql> grant all privileges on *.* to gqltt@localhost identified by 'gqltt' with
grant option;

这样再次查询 mysql.user 时候,就有所有的权限了。

mysql> select * from mysql.user where user='gqltt' \G;
*************************** 1. row ***************************
Host: localhost
User: gqltt
Password: *1A1A4491309AD204398CD4AA6FD550C1799D3403
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin:
authentication_string:
1 row in set (0.00 sec)

MySQL新建用户,授权,删除用户,修改密码相关推荐

  1. MySql中添加用户,新建数据库,用户授权,删除用户,修改密码

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...

  2. mysql中给用户添加密码_MySql中添加用户,新建数据库,用户授权,删除用户,修改密码...

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...

  3. MySQL中新建用户,新建数据库,用户授权,删除用户,修改密码的相关操作

    测试环境:WIN32 mysql5.0.45 注:本操作是在WIN命令提示符下,phpMyAdmin同样适用.  用户:phplamp 用户数据库:phplampDB 1.新建用户. //登录MYSQ ...

  4. mysql 删除 修改密码_MySQL新建用户,授权,删除用户,修改密码

    测试环境:WIN32 mysql5.0.45 首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的. 注:本操作是在WIN命令提示符下,phpMyAdmin同样适 ...

  5. mysql建用户无密码_mysql 新建用户,授权,删除用户,修改密码

    一.用户基本操作 1.创建用户 登陆: mysql> mysql -u root -p 新建用户 mysql> CREATE USER test IDENTIFIED BY '123456 ...

  6. mysql授权无密码用户_MySQL下新建用户,授权,删除用户,修改密码

    一.创建一个新的用户. 创建用户的方式有两种: 1.create user:就是向用户管理表里插入一个新的用户. 2.最好的方法是使用GRANT语句,因为这样更精确,错误少.从MySQL 3.22.1 ...

  7. MySQL添加用户、删除用户与授权

    3.增加用户: (注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符) 格式:grant select on 数据库.* to 用户名@登录主机 identifi ...

  8. mysql用户数据导入_MySQL添加用户、删除用户与授权和数据的导入导出

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 1.1 登录MYSQL: @>mysql -u root -p @&g ...

  9. mysql 删除用户变量_MySql安装与MySQL添加用户、删除用户与授权

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 1.1 登录MYSQL: @>mysql -u root -p @&g ...

最新文章

  1. java yii_一条路线不起作用(yii)
  2. requestAnimationFrame
  3. Scala伴生类与伴生对象:apply方法/伴生对象可以访问伴生类的私有属性
  4. “阿里云 Cloud AIoT Native” 等你一“名”惊人
  5. BZOJ1010 [HNOI2008]玩具装箱toy 动态规划 斜率优化
  6. java 如何循环执行一个对象_Java基础:如何定义好一个方法和进行方法重载
  7. 风控人必知必会的征信知识
  8. 寻找最小的k个数(四种方法)
  9. 易语言c编译,易语言命令行编译工具免费版下载_易语言命令行编译工具最新版下载_3DM软件...
  10. 【数据结构入门】顺序表(SeqList)详解(初始化、增、删、查、改)
  11. 产品经理认证(NPDP)---新产品流程
  12. iOS开发中使用代码控制横竖屏的切换
  13. PS批量处理批量裁减不同尺寸图片教程(超详细教程 非常实用)-photoshop
  14. Java项目:超市进销存管理系统(java+SSM+JSP+bootstrap+jQuery+mysql)
  15. 想查看微信好友撤回的消息?Python帮你搞定
  16. airpods pro是按压还是触摸_泼冷水:AirPods Pro至今为止媒体们还没提到但影响使用体验的TIPS...
  17. 文件(file)操作
  18. 系统学习深度学习(六) --LSTM总结
  19. vscode占内存太大问题
  20. android自定义金额输入键盘_触摸键盘的设计解析

热门文章

  1. 论文浅尝 | GEOM-GCN: Geometric Graph Convolutional Networks
  2. 随机/线性颜色生成器(RandomColorGenerator)
  3. 如何看待事理图谱版magi--学迹
  4. ListObject 多条件去重
  5. abp radio表单元素 消失了
  6. Linux或者Mac解压乱码问题
  7. 定义一个Matrix类,实现矩阵的加法和乘法
  8. 002编程基础----makefile
  9. 区分关联、依赖和聚集关系
  10. VS2005 添加 Microsoft.Office.Tools.Word.dll 等引用