加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

管理Mysql用户的部分常用知识

发布时间:2023-10-21 15:50:16 所属栏目:MySql教程 来源:
导读:下面讲讲关于管理Mysql用户的一些常用知识,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完管理Mysql用户的一些常用知识这篇文章你一定会有所受益。

当前使用的user及host:

m
下面讲讲关于管理Mysql用户的一些常用知识,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完管理Mysql用户的一些常用知识这篇文章你一定会有所受益。
 
当前使用的user及host:
 
mysql> select USER();
 
+----------------+
 
| USER()         |
 
+----------------+
 
| root@localhost |
 
+----------------+
 
1 row in set (0.00 sec)
 
复制代码
 
添加用户
 
mysql5以前版本直接使用 INSERT 向 mysql 表中插入mysql用户了,mysql5之后不可以这样操作
 
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 命令 对用户进行相应授权]}
 
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] 该用户才能生效登录
 
mysql> flush privileges;
 
复制代码
 
删除用户
 
mysql> drop user 'test_user'@'localhost';
 
复制代码
 
查看当前用户的权限
 
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                                                                           |
 
+----------------------------------------------------------------------------------------------------------------------------------------+
 
复制代码
 
查看某个用户的权限
 
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                                 |
 
+------------------------------------------------------------------------------------------------------------+
 
复制代码
 
对账户重命名
 
mysql> rename user 'test_user'@'localhost' to 'bb'@'localhost';
 
复制代码
 
修改密码
 
1.用set password命令
 
mysql> SET PASSWORD FOR 'test_user'@'localhost' = PASSWORD('123456');
 
复制代码
 
2.用 mysqladmin [进入bin目录]
 
备注:{格式: mysqladmin -u用户名 -p旧密码 password 新密码]
 
/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 表
 
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
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章