目录

介绍

downloads 官方最新文档


Admins

用户管理

select host,user from user; #查询用户
drop user 'username'@'localhost'; 删除用户
rename user 'test3'@'%' to 'test1'@'%'; #修改用户名

密码修改/密码重置

由于密码字段名称在mysql.user表中在5.7版本时修改了。

#正常状态mysql 修改密码
#方法1:
mysql> alter user 'root'@'localhost' identified by '123';
#方法2:
mysql> set password for 'root'@'localhost'=password('123');
记得最后要刷新权限
mysql> flush privileges;
#方法3
mysqladmin -uroot-p123456 password 1234abcd
#以下适用于skip-grant-tables状态mysql重置密码
#方法4
mysql> use mysql;
# mysql5.7之前
mysql> update mysql.user set password=password('123456') where user='root';
# mysql5.7之后
mysql> update mysql.user set authentication_string=password('123456') where user='root';
mysql> flush privileges;
mysql> shutdown;

如何进入skip-grant-tables

[mysqld]
skip-grant-tables  

数据库管理

创建数据库

create database test_db default character set utf8mb4 collate utf8mb4_unicode_ci;
create database test_can_del default character set utf8mb4 collate utf8mb4_unicode_ci;

赋权grant

用户详情的权限列表请参考MySQL官网说明:privileges-provided
可以使用GRANT给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限,比如你先给用户添加一个SELECT权限,后来又给用户添加了一个INSERT权限,那么该用户就同时拥有了SELECT和INSERT权限。

#需要有赋权grant权限的用户才可以执行。
grant all privileges on *.* to 'username'@'%' identified by 'password'; #仅不赋予grant权限
grant all privileges on *.* to 'username'@'%' identified by 'password' with grant option; #赋予所有权限(包括grant)
flush privileges;#使权限修改生效。
show grants for 'username'@'localhost'; #显示指定范围的用户权限
revoke createon *.* from 'username'@localhost';  #回收指定范围的用户权限
flush privileges;#使权限修改生效。
code help
all privileges表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。
on表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user
to将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制(其实是个 host 通配符),,在任何主机都可以登录。比如:”username”@”192.168.0.%”,表示username这个用户只能在192.168.0IP段登录
identified by指定用户的登录密码
with grant option表示允许用户将自己的权限授权给其它用户

附录

Permissible Privileges

Table 1 Permissible Privileges for GRANT and REVOKE privileges-provided

PrivilegeGrant Table ColumnContext
ALL [PRIVILEGES]Synonym for “all privileges”Server administration
ALTERAlter_privTables
ALTER ROUTINEAlter_routine_privStored routines
CREATECreate_privDatabases, tables, or indexes
CREATE ROUTINECreate_routine_privStored routines
CREATE TABLESPACECreate_tablespace_privServer administration
CREATE TEMPORARY TABLESCreate_tmp_table_privTables
CREATE USERCreate_user_privServer administration
CREATE VIEWCreate_view_privViews
DELETEDelete_privTables
DROPDrop_privDatabases, tables, or views
EVENTEvent_privDatabases
EXECUTEExecute_privStored routines
FILEFile_privFile access on server host
GRANT OPTIONGrant_privDatabases, tables, or stored routines
INDEXIndex_privTables
INSERTInsert_privTables or columns
LOCK TABLESLock_tables_privDatabases
PROCESSProcess_privServer administration
PROXYSee proxies_priv tableServer administration
REFERENCESReferences_privDatabases or tables
RELOADReload_privServer administration
REPLICATION CLIENTRepl_client_privServer administration
REPLICATION SLAVERepl_slave_privServer administration
SELECTSelect_privTables or columns
SHOW DATABASESShow_db_privServer administration
SHOW VIEWShow_view_privViews
SHUTDOWNShutdown_privServer administration
SUPERSuper_privServer administration
TRIGGERTrigger_privTables
UPDATEUpdate_privTables or columns
USAGESynonym for “no privileges”Server administration