MySQL最简单的指定数据库进行授权操作

Posted 魔幻云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL最简单的指定数据库进行授权操作相关的知识,希望对你有一定的参考价值。

使用场景:

在日常使用中,经常会使用到数据库系统,其中互联网中使用数据库种类频率最多的要属mysql数据库,但使用该数据库不仅仅是单个数据库对应单个用户(root),一定会涉及权限管理问题,针对某个数据库创建对应的账户进行单独授权管理,控制该用户不可越权操作其他数据库。不可具有root权限。

解决方案:

1、先使用root管理员账户登录数据库。

#mysql -uroot -p

2、查看数据库是否已有,此处以bastion数据库为例。

mysql> show databases;
+--------------------+
| Database     |
+--------------------+
| information_schema|
| assets      |
| auth       |
| auto_test     |
| bastion      |
| different     |
| django      |
| hl7        |
| mysql       |
| performance_schema|
| phpmyadmin    |
| scrap       |
| sys        |
| system_openfalcon |
| syswork      |
+--------------------+
17 rows in set (0.02 sec)

3、如果没有创建数据库。

mysql> create database bastion charset=utf8

4、创建用于管理bastion数据库的用户。

mysql>CREATE USER bastion@localhost IDENTIFIED BY 密码;


5、进行对bastion数据库授权。 

mysql>grant all on bastion.* to bastion@localhost;

6、登录验证。

#mysql -ubastion -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 29298
Server version: 5.7.22-0ubuntu0.16.04.1 (Ubuntu)
 
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type help; or h for help. Type c to clear the current input statement.
 
mysql> 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bastion            |
+--------------------+
2 rows in set (0.02 sec)
 
mysql> 
mysql> use bastion
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
mysql> show tables;
+----------------------------+
| Tables_in_bastion          |
+----------------------------+
| acct                       |
| auth_group                 |
| auth_group_permissions     |
| auth_permission            |
| auth_user                  |
| auth_user_groups           |
| auth_user_user_permissions |
| django_admin_log           |
| django_content_type        |
| django_migrations          |
| django_session             |
| host                       |
| host_grp                   |
| manage_user                |
| order                      |
| privilege                  |
| user                       |
+----------------------------+
17 rows in set (0.01 sec)
 
mysql>

 

以上可以正常使用该用户进行该数据库专有使用操作。


以上是关于MySQL最简单的指定数据库进行授权操作的主要内容,如果未能解决你的问题,请参考以下文章

mysql数据库用户权限设置

MySQL数据库权限管理

mysql 8.0 创建新的数据库用户并授权,以及相关查看并删除操作

MySQl创建用户和授权

win10修改administrator密码时出错:该系统对指定的账户没有授权,因此无法完成此操作。

MySQl创建用户和授权