KennethCheng
Published on 2021-06-11 / 11 Visits
0
0

MySQL创建数据库、用户创建、授权

创建数据库

以nextcloud_db为例

CREATE DATABASE nextcloud_db;

新建用户

create user 'nextcloud'@'192.168.50.133' identified by 'password';

授权

grant all privileges on nextcloud_db.* to 'nextcloud'@'192.168.50.133' identified by 'password';

上面的语句将nextclouddb数据库的所有操作权限都授权给了用户nextcloud
在mysql.db表里可以查看到新增数据库权限的信息

select * from mysql.db where user = 'nextcloud'

Pasted-image-20250211021923.png

也可以通过show grants命令查看权限授予执行的命令:

SHOW GRANTS FOR 'nextcloud'@'192.168.50.133';

privilegesCode表示授予的权限类型,常用的有以下几种类型[1]:

  • all privileges:所有权限。
  • select:读取权限。
  • delete:删除权限。
  • update:更新权限。
  • create:创建权限。
  • drop:删除数据库、数据表权限。

dbName.tableName表示授予权限的具体库或表,常用的有以下几种选项:

  • .:授予该数据库服务器所有数据库的权限。
  • dbName.*:授予dbName数据库所有表的权限。
  • dbName.dbTable:授予数据库dbName中dbTable表的权限。

username@host表示授予的用户以及允许该用户登录的IP地址。其中Host有以下几种类型:

  • localhost:只允许该用户在本地登录,不能远程登录。
  • %:允许在除本机之外的任何一台机器远程登录。
  • 192.168.50.133:具体的IP表示只允许该用户从特定IP登录。

刷新

FLUSH PRIVILEGES;

Comment