大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说Mysql用户管理相关「建议收藏」,希望您对编程的造诣更进一步.
当前使用的user及host:
mysql> select USER();
+----------------+
| USER() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
代码100分
添加用户
代码100分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"
代码100分增加用户 {授予用户指定数据表权限 [使用 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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8514.html