使用语言 MySQL
使用工具** Navicat Premium 16**
代码能力快速提升小方法,看完代码自己敲一遍,十分有用
- 拖动表名到查询文件中就可以直接把名字拉进来
- 中括号,就代表可写可不写
1.创建用户
1.1 工具创建用户
打开以后是这个界面,照着填就行了,插件一般不用选择,会有默认的;
想要修改密码就直接在以上图片的用户中选中要修改密码的用户然后双击点进去然后修改即可。注:这两次都要输入;
1.2 脚本创建用户
1.2.1 脚本创建用户介绍
在开发过程中,记得要创建用于登录数据库的用户。如果使用默认提供的root用户,因为拥有超级用户权限,所以很容易因误操作而使数据不安全。在实际开发中,一般不建议使用root用户登录MySQL服务器。**数据库管理员(Database Administartor,DBA)负责为不同的数据库使用者创建一系列普通用户账户,赋予不同的权限,以保证数据的安全。创建新用户的语法如下: **
- create user
username
@'host' [identiried by [PASSWORD] 'password']
username: 创建的用户名
host: 指定用户登录的主机名。如果是本地用户,可使用"localhost"。如果想让用户可以从远程主机登录,可使用通配符"%";
identified by: 用来设置密码,缺省时密码为空
PASSWORD: 使用哈希值设置密码,可选
password: 用户登录时使用的密码
实际开发中,远程连接使用的比较多,远程连接的意思就是在其他的主机可以连接这个拥有远程连接权限的用户;
1.2.2 脚本创建用户示例
- 需求: 在数据库创建一个用户名为root4且密码为123456并且支持远程连接的账户
- 创建用户之后,可通过系统数据库mysql的user表,查看已存在的用户;SQL语句如下:
SQL语句
** 运行结果**
由以上图可以看出,user表中的Host、User、authentication_string分别对应创建用户时指定的主机名、用户名、密码的哈希值。除此之外,还有一系列以'_priv'字符串结尾的字段,这些字段决定了用户的权限,这些字段的值只有Y和N,Y代表用户有对应的权限,N代表用户没有对应的权限,这些字段的默认值是N。使用create user语句创建的用户是未授权的
1.3 远程连接
远程连接的主机就写创建这个用户的主机IP地址,IP地址可以win+R进入cmd中的dos命令中输入ipconfig即可,然后其他就照着填就行了,端口不用改,用户名就是要连接的用户名,密码就是创建用户时创建的密码;
1.4 删除用户
- drop user '用户'; -- 例:drop user 'root5'@'localhost';
2.设置权限
2.1 MySQL5.7或以下版本设置权限
MySQL5.7可以创建用户并授权,语法格式如下:
- grant priv_type on databasename.tablename to
user
@host
[identified by [PASSWORD] ‘password’] [with grant option]
priv_type: 表示要授予的权限,可以是 ALL PRIVILEGES、SELECT、INSERT、UPDATE、DELETE 等。
databasename.tablename: 表示权限作用的数据库和表,可以使用通配符 * 表示所有数据库或所有表。user
@host
: 表示用户名和主机,指定了该用户可以从哪个主机登录。
IDENTIFIED BY: 指定用户的密码。
with grant option: 对新建立的用户赋予grant权限,可选项。
2.2 MySQL8.0或以上版本设置权限
MySQL8.0无法创建用户并授权,只能先创建用户再授权,授权语法格式如下:
- grant priv_type on databasename.tablename to
user
@host
[identified by [PASSWORD] ‘password’]
priv_type: 表示要授予的权限,可以是 ALL PRIVILEGES、SELECT、INSERT、UPDATE、DELETE 等。
databasename.tablename: 表示权限作用的数据库和表,可以使用通配符 * 表示所有数据库或所有表。
'user'@'host': 表示用户名和主机,指定了该用户可以从哪个主机登录。
IDENTIFIED BY: 指定用户的密码。
2.2.1 示例
如果需要授予多个权限,用逗号隔开;
**用户名可以使用``包,也可以用‘’包; **
版权归原作者 子逸爱编程 所有, 如有侵权,请联系我们删除。