mysql数据库_创建用户及授予权限_查看用户、修改密码
一、创建用户
在控制台输入命令: mysql -u root -p
回车进入mysql的控制台。
输入账号密码尽心登陆,然后
创建用户命令:
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
username:你将创建的用户名;
%:指定该用户在哪个主机上可以登录,%表示该用户可以从任意远程主机登录,如果是本地用户可用localhost;
password:该用户的登录密码,密码可以为空,如果为空则该用户可以不需要密码登录服务器。
例如:
CREATE USER 'admin'@'%' IDENTIFIED BY 'a';
表示创建一个名为admin的用户,可以从任意远程主机连接,密码为a。
查看所有的用户:
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
或
select distinct concat(user,'''@''',host,''';') FROM mysql.user;
或者最简单的命令:
select user,host from mysql.user;
二、授予用户权限
命令:
GRANT privileges ON databasename.tablename TO 'username'@'localhost';
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所有的权限则使用ALL;
databasename:数据库名,如果要授予该用户对所有数据库的操作权限则可用 * 表示;
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用 * 表示。
例如:
GRANT ALL ON *.* TO 'root'@'%';
GRANT ALL ON flight.* TO 'admin'@'%';
第一个命令表示授予root用户对全部数据库的所有操作,第二个命令表示授予shujie用户对flight数据库的全部表的所有操作。
这里推荐创建一个root用户并授予全部权限,但是这个用户只留给自己用,方便远程连接来管理自己所有的数据库。
查看该用户的权限:
show grants for admin;
三、撤销用户权限
命令:
REVOKE privilege ON databasename.tablename FROM 'username'@'%';
例如:
REVOKE ALL ON flight.* FROM 'admin'@'%';
四、删除用户
命令:
DROP USER 'username'@'%';
五、更改用户密码
命令:
SET PASSWORD FOR 'username'@'localhost' = PASSWORD('newpassword');
例如把前面创建的shujie用户密码改为aa
SET PASSWORD FOR 'admin'@'%' = PASSWORD('aa');