MySQL之字段约束与权限管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\';

以上是关于MySQL之字段约束与权限管理的主要内容,如果未能解决你的问题,请参考以下文章

2)MySQL表管理之创建删除约束实施自增长字段复制表结构

mysql/mariadb知识点总结 之 约束管理索引管理键管理语句

mysql/mariadb知识点总结 之 约束管理索引管理键管理语句

mysql/mariadb知识点总结 之 约束管理索引管理键管理语句

mysql管理之安全机制

MySQL之完整性约束