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之字段约束与权限管理的主要内容,如果未能解决你的问题,请参考以下文章
mysql/mariadb知识点总结 之 约束管理索引管理键管理语句
mysql/mariadb知识点总结 之 约束管理索引管理键管理语句