初始化数据库必备步骤
我们在创建测试数据库的时候,应该遵循一个数据库一个用户的原则,避免所有数据库都使用管理员(MySQL 是 root,PostgreSQL 是 postgres)来操作,这样可以顺便练习一下赋予权限的操作,合理利用数据库资源。一般会固定的有以下几个步骤:
- 创建新用户
- 创建新数据库
- 赋予该用户对该数据库的使用权限
- 删除用户(可选)
- 删除数据库(可选)
下面以 dbuser 为新用户,exampledb 为新数据库,给出简单的示例
PostgreSQL
创建新用户:
CREATE USER dbuser WITH PASSWORD '******';
创建新数据库:
CREATE DATABASE exampledb OWNER dbuser;
赋予权限:
GRANT ALL PRIVILEGES ON DATABASE exampledb TO dbuser;
删除用户(可选):
DROP ROLE dbuser;
删除数据库(可选):
DROP DATABASE exampledb;
MySQL
创建新用户:
CREATE USER dbuser IDENTIFIED BY '******';
创建新数据库:
CREATE DATABASE `exampledb` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
赋予权限:
GRANT ALL PRIVILEGES ON exampledb.* TO 'dbuser'@'%';
特殊的,MySQL 需要执行刷新权限才能使上面的操作生效
FLUSH PRIVILEGES;
删除用户(可选):
DROP USER 'dbuser'@'%';
@ 主机名 指定了用户可以连接的主机,% 表示所有主机。
删除数据库(可选):
DROP DATABASE IF EXISTS exampledb;