首页/应用软件/内容

详细说明MySQL创建数据库与创建用户以及授权

应用软件2022-06-10 阅读()
SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
1.通过mysql数据库的user表查看用户相关信息

mysql> use mysql
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> select host,user,password from user ;+-----------+------+-------------------------------------------+
   host         user    password                                    
+-----------+------+-------------------------------------------+
   localhost    root    *87F2746835A04895BB77E12AA5054A767*******   
   qxyw         root                                                
   127.0.0.1    root                                                
   localhost                                                        
   qxyw                                                             
+-----------+------+-------------------------------------------+
5 rows in set (0.00 sec)


2.创建数据库

mysql> create database [databasename] default character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)


3.创建用户

mysql> create user 'dba'@'%' identified by '*******';
Query OK, 0 rows affected (0.00 sec)

user表中host列的值的意义
% 匹配所有主机
localhost localhost不会被解析成IP地址,直接通过UNIXsocket连接
127.0.0.1 会通过TCP/IP协议连接,并且只能在本机访问;
::1 ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1


4.对dba用户给予针对指定数据库进行增删改查的权限

mysql> grant select,insert,update,delete,create on [databasename].* to dba;
Query OK, 0 rows affected (0.00 sec)


注意:修改完权限以后 一定要刷新服务,或者重启服务,刷新服务用:FLUSH PRIVILEGES

5.可以通过show grants命令查看权限,若想要在原来的基础上增加权限则继续执行grant

mysql> grant drop on [databasename].* to dba;
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for dba;+----------------------------------------------------------------------------------------------------+
   Grants for dba@%                                                                                     
+----------------------------------------------------------------------------------------------------+
   GRANT USAGE ON *.* TO 'dba'@'%' IDENTIFIED BY PASSWORD '*****************************************'   
   GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON `[databasename]`.* TO 'dba'@'%'                
+----------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

6.通过revoke命令可以移除用户的相关权限

mysql> revoke drop on [databasename].* from dba;
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for dba;+----------------------------------------------------------------------------------------------------+
   Grants for dba@%                                                                                     
+----------------------------------------------------------------------------------------------------+
   GRANT USAGE ON *.* TO 'dba'@'%' IDENTIFIED BY PASSWORD '*****************************************'   
   GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON `[databasename]`.* TO 'dba'@'%'                      
+----------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

以上就是详解MySQL创建数据库与创建用户以及授权的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。

……

相关阅读