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