Skip to main content

对管理员的CRUD

1 用户授权

tip

对一个用户进行授权,其操作作用域分为三部分,一是对用授权了什么操作,比如有: select,insert,update,delet。 二是针对哪个数据库,三是本地操作还是 还网操作。其格式为:

mysql> grant [操作,操作...] on [数据库名.数据表] to [用户名]@[ip限制] Identified by [密码];
mysql> flush privileges; //刷新系统权限表

1.1 方式一

增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:

mysql> grant select,insert,update,delete on *.* to test1@“%” Identified by “abc”;
mysql> flush privileges;

但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例方式二

1.2 方式二

增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数

mysql> grant select,insert,update,delete on book.* to test2@localhost Identified by "abc";
mysql> flush privileges;

如果你不想test2有密码,可以再打一个命令将密码消掉。

mysql> grant select,insert,update,delete on book.* to test2@localhost Identified by "";

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):

1.3 修改用户密码

mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";
mysql>flush privileges;

2 添加用户

$ mysql -u root -p # 1.1 登录MYSQL:
# 1.2 创建用户:
mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));

这样就创建了一个名为:test 密码为:1234 的用户。

tip

注意:此处的”localhost”,是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将”localhost”改为”%”,表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

2.1 新用户登录

开启新的终端,然后在本地登录。

mysql>exit;
  @>mysql -u test -p
  @>输入密码
  mysql>登录成功

##3 删除用户

mysql >drop user 用户名@'%';
mysql >drop user 用户名@ localhost;