原文:https://blog.csdn.net/adu198888/article/details/54092857
1、新建用户
创建test用户,密码是1234。
mysql -u root -p
CREATE USER “test”@”localhost” IDENTIFIED BY “1234”; #本地登录
CREATE USER “test”@”%” IDENTIFIED BY “1234”; #远程登录
quit
mysql -utest -p #测试是否创建成功
2、为用户授权
授权:
命令:GRANT privileges ON databasename.tablename TO'username'@'host'
PS: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
例子: GRANT SELECT, INSERT ON mq.* TO'dog'@'localhost';
a.授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;
b.登录MYSQL,这里以ROOT身份登录:
mysql -u root -p
c.为用户创建一个数据库(testDB):
create database testDB;
create database testDB default charset utf8 collate utf8_general_ci;
d.授权test用户拥有testDB数据库的所有权限:
grant all privileges on testDB.* to “test”@”localhost” identified by “1234”;
flush privileges; #刷新系统权限表,必须执行flush privileges;
e.指定部分权限给用户:
grant select,update on testDB.* to “test”@”localhost” identified by “1234”;
flush privileges; #刷新系统权限表
f.授权test用户拥有所有数据库的某些权限:
grant select,insert,delete,update,create,drop on *.* to test@”%” identified by “1234”; #”%” 表示对所有非本地主机授权,不包括localhost
flush privileges; #刷新系统权限表
3、删除用户
mysql -u root -p
Delete FROM mysql.user Where User=”test” and Host=”localhost”;
flush privileges;
drop database testDB;
删除账户及权限:
drop user 用户名@’%’;
drop user 用户名@ localhost;
4、修改指定用户密码
mysql -u root -p
update mysql.user set authentication_string=password(“新密码”) where User=”test” and Host=”localhost”;
flush privileges;