Mysql用户管理相关知识介绍


本文摘自PHP中文网,作者藏色散人,侵删。

当前使用的user及host:

1

2

3

4

5

6

7

mysql> select USER();

+----------------+

| USER()         |

+----------------+

| root@localhost |

+----------------+

1 row in set (0.00 sec)

添加用户

mysql5以前版本直接使用 INSERT 向 mysql 表中插入mysql用户了,mysql5之后不可以这样操作

1

2

mysql> insert into mysql.user(Host,User,Password) values('localhost','test_user',password('123123'));

ERROR 1062 (23000): Duplicate entry 'localhost-test_user' for key 'PRIMARY'

增加用户 {授予用户指定数据表权限 [使用 GRANT 命令 对用户进行相应授权]}

1

2

3

mysql> GRANT all privileges ON table1.* TO

'test_user'@'localhost' IDENTIFIED BY '123123' WITH GRANT OPTION;

Query OK, 0 rows affected (0.02 sec)

IDENTIFIED BY 指定用户的登录密码

ALL PRIVILEGES 是表示所有权限,也可以使用 select、update 等权限

*.\ 中前面的*号用来指定数据库名,后面的*号用来指定表名

TO 表示将权限赋予某个用户

ON 用来指定权限针对哪些库和表

'test_user'@'localhost' 表示test_user用户,@后面接限制的主机,可以是IP、IP段、域名以及%,%表示任何地方

WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人

需要刷新系统权限表[flush privilege] 该用户才能生效登录

1

mysql> flush privileges;

删除用户

1

mysql> drop user 'test_user'@'localhost';

查看当前用户的权限

1

2

3

4

5

6

7

mysql> SHOW GRANTS;

+----------------------------------------------------------------------------------------------------------------------------------------+

| Grants for root@localhost                                                                                                              |

+----------------------------------------------------------------------------------------------------------------------------------------+

| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '\*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1' WITH GRANT OPTION |

| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION                                                                           |

+----------------------------------------------------------------------------------------------------------------------------------------+

查看某个用户的权限

1

2

3

4

5

6

7

mysql> show grants for 'test_user'@'localhost'

+------------------------------------------------------------------------------------------------------------+

| Grants for test_user@localhost                                                                                   |

+------------------------------------------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO 'test_user'@'localhost' IDENTIFIED BY PASSWORD '\*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1' |

| GRANT ALL PRIVILEGES ON table1.* TO 'test_user'@'localhost' WITH GRANT OPTION                                 |

+------------------------------------------------------------------------------------------------------------+

对账户重命名

1

mysql> rename user 'test_user'@'localhost' to 'bb'@'localhost';

修改密码

1.用set password命令

1

mysql> SET PASSWORD FOR 'test_user'@'localhost' = PASSWORD('123456');

2.用 mysqladmin [进入bin目录]

备注:{格式: mysqladmin -u用户名 -p旧密码 password 新密码]

1

2

/usr/bin$ mysqladmin -utest_user -p123456 password 123123

mysqladmin: Can't turn off logging; error: 'Access denied; you need (at least one of) the SUPER privilege(s) for this operation'

3.用 update 直接编辑 user 表

1

2

3

4

5

6

7

mysql> use mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> update user set PASSWORD = PASSWORD('123123') where user = 'test_user';

Query OK, 1 row affected (0.04 sec)

Rows matched: 1  Changed: 1  Warnings: 0

推荐教程:《MySQL教程》

以上就是Mysql用户管理相关知识介绍的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

mysql 5.7常见数据类型

mysql主键可以为空吗?

mysql的主键命名策略相关

mysql视频教程的源码课件推荐

理解mysql存储过程和函数

mysql怎么修改表名?

初始化mysql的数据库失败怎么办

mysql 如何利用分片来解决 500 亿数据的存储问题

mysql 客户端不输入用户名和密码直接连接数据库的2个方法

mysql中如何把字符串转换为int类型

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...