mysql 用户及权限

永远不要给任何人(除了MySQL root帐户)访问 数据库中的 usermysql!这很关键。

mysql.user表存放所有用户的主机,用户名,密码,权限。直接修改表中信息,需flush privileges生效,不建议这样操作。

1.创建用户

create user 'test'@'%' identified by 'test';

grant all privileges on db1.* to 'test'@'%' identified by 'test';           ##将被废弃

2.修改密码

set password='root123';                                   ##修改当前用户

alter user 'test'@'%' identified by 'test';

set password for 'test'@'%'=password('test');                         ##将被废弃

新创建的用户通过 show grants for 'test'@'%',只有登录权限 GRANT USAGE ON *.* TO 'test'@'%'。但是可以show databases;

用户名称不要超过10个字符。

生成随机密码:openssl rand -base64 10

3.授权和回收

grant/revoke  xxx on xx.xx to xx

ALL [PRIVILEGES]
ALTER
ALTER ROUTINE
CREATE
CREATE ROUTINE
CREATE TABLESPACE
CREATE TEMPORARY TABLES
CREATE USER
CREATE VIEW
DELETE
DROP
EVENT
EXECUTE
FILE
GRANT OPTION
INDEX
INSERT
LOCK TABLES
PROCESS
PROXY
REFERENCES
RELOAD
REPLICATION CLIENT
REPLICATION SLAVE
SELECT
SHOW DATABASES
SHOW VIEW
SHUTDOWN
SUPER
TRIGGER
UPDATE
USAGE

原文地址:https://www.cnblogs.com/emmm233/p/9227736.html