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;来刷新权限
设置当前用户密码
- 使用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)
- 使用SET语句来修改当前用户密码
语法: SET PASSWORD=‘new_password’;
example:
mysql> set password = 'abc123';
Query OK, 0 rows affected (0.00 sec)
修改其它用户密码
- 使用ALTER语句来修改普通用户的密码
语法
alter user 用户名 identified by ‘新密码’;
example
mysql> alter user wang5 identified by 'abc123';
Query OK, 0 rows affected (0.00 sec)
- 使用SET命令来修改普通用户的密码
语法:
SET PASSWORD FOR ‘username’@‘hostname’=‘new_password’;
mysql> set password for 'wang5'@'%'='111';
Query OK, 0 rows affected (0.01 sec)
以上是关于Mysql用户管理的主要内容,如果未能解决你的问题,请参考以下文章