在日常使用中,经常会使用到数据库系统,其中互联网中使用数据库种类频率最多的要属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 -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 29298Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners. 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 bastionReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A Database changedmysql> 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>
以上可以正常使用该用户进行该数据库专有使用操作。