账号与授权
1、账号登录
终端输入
mysql -h <host> -P <port> -u <user> -p<password>
- host
服务器主机ip,如果是本地则为localhost,也可将-h <host>
省略,如果是远程登录则必须指定。 - port
服务器占用端口,在安装时my.ini文件中设置,未特殊指定可以省略-P <port>
。 - user
登录服务器用户名,必须指定,不同用户所拥有的权限不同,在创建时设置 - password
用户名对应的密码,可省略<password>
部分,密码进行隐藏输入。若不省略,-p
与<password>
之前不能有空格。
2、账户的创建、授权、撤权、销户
#创建账户与密码
CREATE USER '<user>'@'<host>' IDENTIFIED WITH mysql_native_password BY <password>;
#授权
GRANT <privilege[,privilege,...]> ON <target> TO '<user>'@'<host>' WITH GRANT OPTIONS;
#撤权
REVOKE <privilege[,privilege,...]> ON <target> FROM <user>@<host>;
#销户
USE mysql
DELETE FROM user WHERE user=<user> AND host=<host>;
在授权与撤权的语句中
<privilege[,privilege,...]>
指定要授予/撤销的权限,当想要授予/撤销所有权限时,使用ALL
来代替该项。<target>
指定被授予/撤销的对象,输入*.*
时代表该用户中的所有对象,也可以输入<database>
代表某个数据库,也可以输入<database.table>
代表某个表。WITH GRANT OPTION
表示该用户拥有可以向其他用户授权的权限。
3、修改账户密码
安装完成后初始账号为root
密码则在安装时会提示,修改密码的两种方式:
- 终端出入
mysqladmid -u <user> -p password <newpwd>
,此方法需要知道旧密码。 - 在root账户登录后
使用第二步#切换到mysql库 USE mysql; #修改密码 ALTER USER <user>@<host> IDENTIFIED WITH mysql_native_password BY <newpwd>; #加载修改到内存,使之立即生效 FLUSH PRIVILEGES;
ALTER
命令修改密码时,如果出现Operate failed
提示,则说明现有密码格式不正确,需要使用UPDATE
将密码清空后,再执行此操作。
关于FLUSH PRIVILEGES的作用原理,见官方文档。