经验之谈,放在最前面了
时间是检验真理的唯一标准:
经本人实践得出以下理论:
1、对于用户的书写一定要注意哦!!
2、MySQL对于字符串我们可以用单引号('')引起来,也可以用双引号("")引起来;
一、创建用户:
命令:create user 'username'@'host' [identifiied by 'passward'];
说明:红色字体是SQL语言的标准语法不能有一点不同;其中下划线部分使用户自定义的,其中username是你将创建的用户名;host是指定该用户在哪台主机上可以登录,该值可以是:本机localhost,可以是有一个主机的IP地址,也可以是远程任何一台主机,但想让该用户从任何一台远程主机上登录可以使用通配符%;password就是你为该用户设定的密码了,你也可以不用设定密码,即没有"[" ']'之间的内容或让password为空,当你使用该用户登陆时就不用密码验证了。
实例:
1 create user 'dog'@'localhost' identifiied by '12345';
2 create user 'cat'@'localhost';
3 create user 'cat'@'192.168.90.1' identifiied by '12345';
4 create user 'cat'@'%' identified by '12345';
5 create user 'cat'@'%' identified by '';
6 create user 'cat'@'%';
二、显示当前用户名
命令: select user();
实例:mysql>selectt user();
三、用户间切换
命令:mysql -h 主机地址 -u 用户名 -p
说明:
1、 -p后面不能有“;”
2、 启动windows下的命令提示符(注意是环境已经配置好的MySQL,但一般都不需要我们手动去配置只要安装类就会自动配置,就是在计算机属性中配置系统环境变量中的path变量)
实例:
Mysql -h localhost -u root -p
四、设置和修改用户密码
命令:
1、设置当前用户的密码:
set password for 'username'@'host' = password('新密码');
2、设置未登入的用户的密码:
Set password = password('新密码')
实例:
root为普通用户设置密码
设制成功的标志是:
Query OK, 0 rows affecred(0.00sec)
用户自己修改密码:
设制成功的标志是:
Query OK, 0 rows affecred(0.00sec)
普通用户为root修改密码:
提示错误:Access denied for user ''jast@'localhost' to database 'msql'
五、授权:(Authorization)
授权是通过grant语句来实现的。
grant <权限>[,<权限>][,<权限>][,<权限>]……
on <对象类型><对象名>[,<对象类型><对象名>]……
to <用户>[<,用户>]……
[with grant option];
说明:
1、将指定操作对象(数据)的指定操作权限(数据操作)授予指定的用户(用户)
2、权限之间都是用“,”隔开的;对象类型与对象之间是通过‘.’连接的;且不同的对象之间用‘,’隔开的;用户之间也是用‘,’隔开的。
3、没有你 with grant option的用户不能将自己获得的权限在授予其他用户
4、关于权限请参见本文权限集合
命令:grant privileges on databasename.tablename to 'username@localhost'
说明:privilege 是用户的操作权限,如:select,insert,update等(详细列表见该文最后),databasename 是数据库名,tablename 是表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如 *.*.
实例:
grant select,insert on test.user to 'cat'@'localhost';
grant all on *.* to 'cat'@'localhost';