zoukankan      html  css  js  c++  java
  • 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>

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

  • 相关阅读:
    局域网内其他主机如何访问运行在宿主机的虚拟机中的Django项目(转)
    python3脚本获取本机公网ip
    django之允许外部机器访问
    Mysql命令drop database:删除数据库
    CentOS和Windows下配置MySQL远程访问的教程
    Windows 下 MySql 5.7.20安装及data和my.ini文件的配置(转)
    远程登陆linux连接mysql root账号报错:2003-can't connect to MYSQL serve(转)
    Mysql创建用户并授权以及开启远程访问
    Android 之 自定义标签 和 自定义组件
    再探java基础——零碎基础知识整理
  • 原文地址:https://www.cnblogs.com/zksfyz/p/9363942.html
Copyright © 2011-2022 走看看