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

  • 介绍


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’;

  • 修改密码

select host from mysql.user where user = 'root'; 查询用户的host信息

set password for root@'%' = password('root');

  • 参考

本文为原创,如果您当前访问的域名不是surenpi.com,请访问“素人派”。

发表评论

电子邮件地址不会被公开。 必填项已用*标注