1. 创建/授权用户
1.1 使用create创建test用户:
CREATE USER 'test'@'%' IDENTIFIED BY '123456';
或:
CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';
%代表对所有主机开放权限,可远程访问,
localhost代表只能本机登录,是不能远程访问的
使用CREATE创建用户后,需要给该用户授权,不然用户只有最基本的登录权限
授权该用户对所有数据库所有操作权
grant all privileges on *.* to test@'localhost';
或只授权该用户对某个数据库的操作权,如kaoqin数据库:
grant all privileges on kaoqin.* to test@'localhost';
第一个*代表数据库,第二个代表数据表
1.2 使用grant语句新建用户并授权:
如使用GRANT语句创建名为 test 的用户,主机名为 localhost,密码为 123456。该用户对所有数据库的所有表都有 SELECT 权限。SQL 语句和执行过程如下:
grant select on *.* to 'test'@'localhost' identified by '123456';
GRANT 语句是 MySQL 中一个非常重要的语句,它可以用来创建用户、修改用户密码和设置用户权限。
更新权限后要刷新权限配置:
flush privileges;
查看当前用户被授予的权限:
show grants;
查看其他用户的权限:
show grants for 'kaoqin'@'%';
2.其他常用命令
查看mysql所有用户和登录权:
select User,Host from mysql.user;
HOST为%代表对所有主机开放权限,可远程访问;
localhost代表只能本机登录,是不能远程访问的。
删除用户:
drop user 'test'@'localhost';
修改用户密码:
第一种(推荐)
alter user 'test'@'localhost' identified BY 'newpasswd';
第二种,使用update编辑mysql.user表
update mysql.user set authentication_string=password('新密码') where user='用户名' and Host ='localhost';
第三种,使用 SET PASSWORD 命令命令:
set password for 'test'@'localhost' = password('newpassword');
修改当前会话用户的密码:
alter user user() identified by 'mypassword';