700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Mysql数据库用户及用户权限管理 Navicat设置用户权限

Mysql数据库用户及用户权限管理 Navicat设置用户权限

时间:2018-08-31 13:43:18

相关推荐

Mysql数据库用户及用户权限管理 Navicat设置用户权限

Mysql数据库用户及用户权限管理,Navicat设置用户权限

一、Mysql数据库的权限1.1 mysql数据库用户权限级别1.2 mysql数据库用户权限1.3 存放用户权限表的说明 二、用户权限管理2.1 创建用户及授权创建及给用户授权命令 2.2 用户权限查看2.3 收回用户权限2.4 设置用户密码修改其他用户密码(当前用户要有权限),一般在root用户下操作修改当前用户密码 2.5 删除用户2.6 用户的锁定与解锁2.7 设置密码过期策略2.8 mysql数据库用户资源限制 三、Navicat设置mysql用户数据库权限 相关内容原文地址: CSDN:dayi_123:[mysql数据库用户及用户权限管理](/dayi_123/article/details/82989264)

一、Mysql数据库的权限

1.1 mysql数据库用户权限级别

全局性管理权限:作用于整个mysql实例级别数据库级别:作用于指定的某个数据库上或者所有数据库上数据库对象级别权限:作用于指定的数据库对象上(表或者视图)

1.2 mysql数据库用户权限

1.3 存放用户权限表的说明

Mysql数据库用户权限存储在mysql库的user, db, tables_priv, columns_priv, procs_priv这几个系统表中, MySQL实例启动后就加载到内存中。

Mysql数据库权限管理中,字段user,password,authencation_string,db,table_name大小写敏感,而字段host,column_name,routine_name对大小写不敏感。

二、用户权限管理

2.1 创建用户及授权

Mysql用户创建可以通过create user/grant命令创建,也可以通过insert语句直接操作MySQL系统权限表来创建。

创建及给用户授权命令

创建用户:

CREATE USER username@'host' IDENTIFIED BY 'password'

用户授权:

GRANT permission ON database.tables TO username@’host’

创建用户并授权:

GRANT permission ON database.tables TO username@'hostt' WITH GRANT OPTION;

MYSQL创建用户及给用户授权的用户名主机部分由两部分组成,分别为用户名和登录主机名,格式为’username’@’hostname’;hostname字段可以使用主机名或者ip地址,同时hostname字段允许使用”%”和”_”两种字符进行匹配。

# 创建用户dayi123并授予本地登录所有库所有权限mysql> create user 'dayi123'@'localhost' identified by 'dayi123';mysql> grant all privileges on *.* to 'dayi123'@'localhost' with grant option;# 创建用户用户dayi通过192.168.0.0段ip地址登录的增删该查跟新库web的权限mysql> grant select,insert,update,delete,create,drop on web.* to 'dayi'@'192.168.%.%' identified by 'dayi123';# 给root用户授权可以通过192.168.0.0段地址登录mysql> grant all on *.* to root@'192.168.%.%' identified by 'dayi123';

2.2 用户权限查看

查看已经授权给用户权限信息命令:show grants for ‘username’@’host’

# 查看授权给'dayi'@'192.168.%.%'的权限信息mysql> show grants for 'dayi'@'192.168.%.%';+---------------------------------------+| Grants for dayi@192.168.%.% | +---------------------------------------------------+| GRANT USAGE ON *.* TO 'dayi'@'192.168.%.%' | | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON `web`.* TO 'dayi'@'192.168.%.%' |+---------------------------------------------------+2 rows in set (0.00 sec)

查看创建用户的语句:show create user ‘username’@’host’

# 查看给用户’dayi’没有授权的信息mysql> show create user dayi@'192.168.%.%';+------------------------------------------+| CREATE USER for dayi@192.168.%.% | +--------------------------------------------+| CREATE USER 'dayi'@'192.168.%.%' IDENTIFIED WITH 'mysql_native_password' AS '*8FD40AC91E6D5D89D1060096FDEF8A4ECAA05B5C' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK |+-----------------------------------------------+1 row in set (0.00 sec)

2.3 收回用户权限

收回用户权限是可以通过语句revoke完成,命令格式为:

Revoke permission on ‘database’,’tables’ from ‘username’@’host’

# 收回用户权限是可以通过语句revoke完成,命令格式为:Revoke permission on ‘database’,’tables’ from ‘username’@’host’

2.4 设置用户密码

Mysql数据库一般在创建用户时就给用户设置了密码,如果在用户创建完成后想修改密码,可通过相应的命令来完成。

修改其他用户密码(当前用户要有权限),一般在root用户下操作

登录mysql后的修改命令:

Alter user ‘username’@’host’ identified by ‘newpassword’Set password for ‘username’@’host’=password(‘newpassword’)Grant user on permission to ‘user’@’host’ identified by ‘newpassword’

在系统命令行下修改:

mysqladmin –u uername –h host password “newpassword”

# 修改dayi123的密码为dayi1234mysql> alter user 'dayi123'@'localhost' identified by 'dayi1234';Query OK, 0 rows affected (0.35 sec)# 修改dayi远程登录密码为dayi1234mysql> set password for 'dayi'@'192.168.%.%'=password('dayi1234');Query OK, 0 rows affected, 1 warning (0.00 sec)

修改当前用户密码

alter user user() identified by ‘newpassword’set password=password(‘newpassword’)

# 修改当前登录的root的密码为dayi1234mysql> alter user user() identified by 'dayi1234';Query OK, 0 rows affected (0.00 sec)

2.5 删除用户

删除命令:drop user ‘username’@’host’

# 删除用户dayi远程登录mysql> drop user 'dayi'@'192.168.%.%';Query OK, 0 rows affected (0.00 sec)# 查看删除后的用户mysql> select user,host from mysql.user;+---------------+-------------+| user| host |+---------------+-------------+| root| 192.168.%.% || dayi| localhost || dayi123 | localhost || mysql.session | localhost || mysql.sys| localhost || root| localhost |+---------------+-------------+

2.6 用户的锁定与解锁

在创建用户时或用户创建后可以将用户锁定,用户被锁定后,此用户无法完成登录,锁定与解锁的命令如下:

在创建用户时锁定用户:

Create user ‘username’@’host’ identified by ‘password’ account lock;

用户创建受锁定用户L

Alter user ‘username’@’host’ account lock

解锁用户:alter user ‘username’@’host’ account unlock;

# 锁定用户dayi123mysql> alter user 'dayi123'@'localhost' account lock;Query OK, 0 rows affected (0.00 sec)# 用户被锁定后等录时报如下错:~]# mysql -udayi123 -pEnter password: ERROR 3118 (HY000): Access denied for user 'dayi123'@'localhost'. Account is locked.# 解锁用户dayi123mysql> alter user 'dayi123'@'localhost' account unlock;Query OK, 0 rows affected (0.00 sec)

2.7 设置密码过期策略

Mysql数据库用户同系统用户一样,可以设置密码过期策略,密码的过期天数可以在配置文件里面设置,也可以通过命令设置,通过命令为每个用户设置密码的过期天数则会覆盖系统配置文件中的设置。

配置文件中设置

选项:default_password_lifetime=”过期天数” :如果设置为0,则密码永不过期。通过命令设置

alter user ‘username’@’localhost’ password expire interval number day; 设置过期天数alter user ‘username’@’localhost’ password expire never; 设置密码不过期alter user ‘username’@’localhost’ password expire default; 默认过期策略alter user ‘username’@’localhost’ password expire; 手动强制密码过期

#设置用户dayi123的密码180天后过期mysql> alter user 'dayi123'@'localhost' password expire interval 180 day;Query OK, 0 rows affected (0.00 sec)# 设置用户dayi的密码立即过期mysql> alter user 'dayi'@'localhost' password expire;Query OK, 0 rows affected (0.00 sec)# 设置密码过期后执行命令时需要修改密码才能执行命令]# mysql -udayi –p……mysql> show databases;ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

2.8 mysql数据库用户资源限制

通过修改mysql数据库资源限制可以限制用户在某个时间段内连接mysql数据库的时间、执行语句的次数等。

设置参数:

max_user_connections:全局选项,限制所有用户在同一时间连接mysql数据库实例的数量MAX_QUERIES_PER_HOUR:一个用户在一个小时内可以执行查询的次数(基本包含所有语句)MAX_UPDATES_PER_HOUR:一个用户在一个小时内可以执行修改的次数(仅包含修改数据库或表的语句)MAX_CONNECTIONS_PER_HOUR:一个用户在一个小时内可以连接MySQL的时间MAX_USER_CONNECTIONS:一个用户可以在同一时间连接MySQL实例的数量

设置mysql数据库用户资源限制

设置mysql数据库用户资源限制时可以在创建用户时设置,也可以在用户创建完成后通过命令设置。

# 创建用户day,并对用户day的资源进行控制mysql> create user 'day'@'localhost' identified by 'dayi123' with max_queries_per_hour 20 max_updates_per_hour 10 max_connections_per_hour 5 max_user_connections 2; Query OK, 0 rows affected (0.00 sec)# 对用户dayi进行资源控制mysql> alter user 'dayi'@'localhost' with max_queries_per_hour 20 max_updates_per_hour 10 max_connections_per_hour 5 max_user_connections 2;Query OK, 0 rows affected (0.00 sec)

当需要取消某个选项的,只需将某个选项的值设置为0即可。

三、Navicat设置mysql用户数据库权限

点击上图的新建用户,可以看到相关权限的配置。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。