1.新建用户
创建username用户,密码是password。
mysql> mysql -u root -p
mysql> create user 'username'@'localhost' identified by 'password';
mysql> quit
mysql> mysql -u username-p #测试是否创建成功
username - 你将创建的用户名,
localhost- 指定该用户在哪个主机上可以登陆,此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录,如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录;也可以指定某台机器可以远程登录;
2.为用户授权
授权格式
mysql>grant all privileges on databasename.tablename to 'username'@'host'
mysql>flush privileges; #刷新系统权限表
privileges - 用户的操作权限,如select, insert, update等.如果要授予所的权限则使用all;
databasename - 数据库名;
tablename-表名;
如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*;
flush privileges-刷新权限;
3.授以空权限
grant usage on *.* to ' databasename.tablename' identified by 'username';
usage :连接(登录)权限,建立一个用户,就会自动授予其usage权限(默认授予)。该权限只能用于数据库登录,不能执行任何操作,且该权限不能被回收,即使使用REVOKE也不能删除用户权限。
*只能连库,啥也不能干
4.撤销用户权限
命令:
mysql>revoke privilege ON databasename.tablename FROM 'username'@'host';
privilege, databasename, tablename - 同授权部分.
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可
5、删除用户
mysql> mysql -u root -p ;
mysql> drop user username@’host’;
mysql> flush privileges;
6、修改指定用户密码
#不需刷新权限
ALTER USER username@'host' IDENTIFIED BY 'password';
#需要刷新权限
mysql>mysql -u root -p
mysql> update mysql.user set authentication_string=password(“newpassword”) where user=”username” and host=”localhost”;
mysql> flush privileges;
网友评论