MySQL之字段约束与权限管理

一、常见的字段约束

在MySQL数据库中有许多常见的字段约束,所谓的字段约束就是在设置字段时需要给字段添加一些“枷锁”。

常见的字段约束有:

INT(n)     数据类型及允许数据的个数

NOT NULL   非空

DEFAULT    默认值

PRIMARY KEY  主键约束,不能为空,不能重复,一般情况下一张表中至少要有一个主键

AUTO_INCREMENT   自增,一般配合数值类型的主键去使用

UNSIGNED   无符号,正数  

UNIQUE   唯一约束,具有唯一性(不能重复) 可以为空

FOREIGN KEY(当前表的外键字段) REFERENCES 关联表名(关联表字段)    外键约束,在创建关系映射时需要进行设置

二、权限管理

1、修改密码

若是想修改MySQL数据库的密码,首先需要进入到MySQL数据库中。

之后,显示所有的数据库:

mysql>SHOW DATABASES;

进入mysql数据库中,查看该库中的所有的表:

USE mysql;
SHOW TABLES;

更新user表中对应用户的authentication_string字段的值:

UPDATE user SWT authentication_string=password(你要设置的新密码) WHERE User='需要设置密码的用户' AND Host='用户所对应的IP地址';

例:

UPDATE user SET authentication_string=password(123456) WHERE User='root' AND Host='localhost';

2、忘记密码

如果在登录MySQL数据库时忘记了自己以前设置的密码。应该如何处理呢?

首先修改配置文件。

在MySQL数据库文件夹中的mysqld文件下面添加skip-grant-tables,该命令是用于登录MySQL数据库时跳过权限认证。

其次重新启动MySQL服务,之后不使用密码登录root用户,接下来执行修改密码的操作,修改密码完成后退出数据库并把配置文件改回来,最后再重启MySQL服务,使用修改后的密码登录即可。

3、创建用户

格式:

CREATE USER '用户名'@'ip地址' IDENTIFIED BY '密码'

下面是几个例子:

添加一个李四的账户,只能允许在本地登录

Create user 'lisi'@'localhost' identified by '123456';

添加一个wangwu用户,只允许10.10.91.3ip去登录

Create user 'wangwu'@'10.10.91.3' identified by '123456';

添加一个 zl用户,不限制登录地址(不限制来源地) 

Create user 'zl'@'%' identified by '123456';

4、给用户授权

一般而言,公司中的数据库需要给一些用户进行授权,使其可以进行远程连接。

语法格式:

GRANT 权限 ON 库名.表名 TO '用户名'@'地址'

例如:

给lisi授权,允许操作(select,insert,update)demo6库中的user表

GRANT SELECT,INSERT,UPDATE ON demo6.user TO 'lisi'@'localhost';

给zl授权,允许操作(select,insert,update) 所有的库和所有的表

GRANT SELECT,INSERT,UPDATE ON *.* TO 'zl'@'%';

5、删除用户

有些用户可能过段时间就不用了,对于不用的用户就要进行删除用户操作。

语法格式为:

DROP user '用户名'@'ip地址';

例如删除wangwu用户

DROP user 'wangwu'@'10.10.91.3';
posted @ 2020-05-24 10:42  如心幻雨  阅读(779)  评论(0编辑  收藏  举报