1.新建用户。
MySQL 8.0 以后
create user 'test'@'localhost' identified by 'i9u8&&TGB';
MySQL 8.0 之前
GRANT USAGE ON *.* TO 'test'@'localhost' IDENTIFIED BY 'i9u8&&TGB' WITH GRANT OPTION;
用户:test,密码:i9u8&&TGB,这样就添加了一个新的用户。
2.为用户授权。
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
//授权 "test" 用户在 "192.168.0.100"或“192.168.0.1~255” 这个网址拥有 "shujuku" 数据库的所有权限。
MySQL 8.0 之后:
grant all privileges on shujuku.* to test@192.168.0.100;
MySQL 8.0 之前:
grant all privileges on shujuku.* to test@localhost identified by 'i9u8&&TGB';
grant all privileges on shujuku.* to test@'192.168.0.%' identified by 'i9u8&&TGB';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作
如果想指定部分权限给一用户,可以这样来写:
grant select,update on shujuku.* to test@192.168.0.100 identified by 'i9u8&&TGB';
特殊权限(Access denied; you need (at least one of) the RELOAD privilege(s) for this operation)
i. reload 是 administrative 级的权限,即 server administration;这类权限包括:
CREATE USER, PROCESS, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHOW DATABASES, SHUTDOWN, SUPER
ii. 这类权限的授权不是针对某个数据库的,因此须使用on *.* 来进行:
grant reload,process on *.* to 'test'@'localhost';
3.删除用户。
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;
4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;