Mysql用户管理

Posted 学好编程不秃头

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql用户管理相关的知识,希望对你有一定的参考价值。

用户管理

登录mysql服务器

命令中的参数:

  • -h参数 后面接主机名或者主机IP,hostname为主机,hostIP为主机IP。
  • -P参数 后面接MySQL服务的端口,通过该参数连接到指定的端口。MySQL服务的默认端口是3306,
    不使用该参数时自动连接到3306端口,port为连接的端口号。
  • -u参数 后面接用户名,username为用户名。
  • -p参数 会提示输入密码。
  • DatabaseName参数 指明登录到哪一个数据库中。如果没有该参数,就会直接登录到MySQL数据库
    中,然后可以使用USE命令来选择数据库。
  • -e参数 后面可以直接加SQL语句。登录MySQL服务器以后即可执行这个SQL语句,然后退出MySQL
    服务器。
    例子:
mysql -uroot -p -P3306 -hlocalhost dbtest1 -e 'select * from emp1';

创建用户

语法:
CREATE USER 用户名 IDENTIFIED BY ‘密码’;
例子:

create user 'zhangsan'@'%' identified by 'abc123';

也可以不指定密码

create user 'li4'@'%';

这样登录时可以直接登录 mysql -uli4即可

修改用户

mysql> select user,host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| li4              | %         |
| root             | %         |
| zhangsan         | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)

用户和host存储在mysql库下的user表中
所以修改用户即修改mysql.user表
例如:

update mysql.user set user='wang5' where user='li4';

修改完成之后

mysql> select user,host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| wang5            | %         |
| zhangsan         | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)

记得修改完成之后不会立刻生效
需要手动刷新权限

flush privileges;

删除用户

方式1:使用DROP方式删除(推荐)

drop User li4;

方式2:因为毕竟是在user表中
所以也可以通过sql语句删除

DELETE FROM mysql.user WHERE Host='localhost' AND User='Emily';
FLUSH PRIVILEGES;

总结 凡是通过修改mysql.user表 需要 使用 flush privileges;来刷新权限

设置当前用户密码

  1. 使用ALTER USER命令来修改当前用户密码
    语法:
    ALTER USER USER() IDENTIFIED BY ‘new_password’;

example

mysql> alter user user() identified by 'root';
Query OK, 0 rows affected (0.00 sec)
  1. 使用SET语句来修改当前用户密码
    语法: SET PASSWORD=‘new_password’;

example:

mysql> set password = 'abc123';
Query OK, 0 rows affected (0.00 sec)

修改其它用户密码

  1. 使用ALTER语句来修改普通用户的密码
    语法
    alter user 用户名 identified by ‘新密码’;
    example
mysql> alter user wang5 identified by 'abc123';
Query OK, 0 rows affected (0.00 sec)
  1. 使用SET命令来修改普通用户的密码
    语法:
    SET PASSWORD FOR ‘username’@‘hostname’=‘new_password’;
mysql> set password for 'wang5'@'%'='111';
Query OK, 0 rows affected (0.01 sec)

以上是关于Mysql用户管理的主要内容,如果未能解决你的问题,请参考以下文章

MySql学习19-----用户管理

MySQL—— 用户创建和权限管理

MySQL 用户管理 与 用户权限管理

MySQL 用户管理及权限管理

mysql 用户权限管理

MySQL用户管理