标签搜索

MySQL创建数据库与创建用户以及授权

cicaba
2023-08-28 / 2 评论 / 7 阅读 / 正在检测是否收录...

1、创建数据库

命令: create schema [数据库名称] default character set utf8 collate utf8_general_ci;

说明:采用create schema和create database创建数据库的效果一样。

2、创建用户

命令: create user '[用户名称]'@'%' identified by '[用户密码]';

说明:密码8位以上,包括:大写字母、小写字母、数字、特殊字符

%:匹配所有主机,该地方还可以设置成‘localhost’,代表只能本地访问,例如root账户默认为‘localhost‘ ;username : 你将创建的用户名,host : 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%.password : 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.

例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';

3、用户授权数据库

命令: grant select,insert,update,delete,create on [数据库名称].* to [用户名称];
命令:GRANT privileges ON databasename.tablename TO 'username'@'host'
说明:*代表整个数据库

privileges : 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename -:数据库名,tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示, 如.*.

例子: GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON . TO 'pig'@'%';

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

4、启用修改

flush privileges ;

5、取消用户所有数据库(表)的所有权限

revoke all on . from tester;

6、删除用户

delete from mysql.user where user='tester';

7、删除数据库

drop database [schema名称|数据库名称];

--我在mysql root中建立了一个数据库,在数据库中建立了一个用户,
--并授权用户对数据库中几张表的访问权限。
--之后登陆用户,为什么无法访问表

8、查询用户创建是否正确

select user,host from mysql.user;--查看a@localhost是否存在

如果没有则删除之前的用户,重新新建用户,并将%替换为localhost

如:CREATE USER 'eims_report'@'localhost';

2

评论 (2)

取消
  1. 头像
    zrgoijngfv
    Windows 10 · Google Chrome

    建议补充发展中国家案例,避免视角局限。

    回复
  2. 头像
    oyzarpnjmj
    Windows 10 · Google Chrome

    作者以简洁明了的语言,传达了深刻的思想和情感。

    回复