MySQL 和 PostgreSQL 数据库的运维笔记

异想之旅:本人原创博客完全手敲,绝对非搬运,全网不可能有重复;本人无团队,仅为技术爱好者进行分享,所有内容不牵扯广告。本人所有文章仅在CSDN、掘金和个人博客(一定是异想之旅域名)发布,除此之外全部是盗文!


全文约定数据库名为 dd ,表名为 tt ,用户名为 uu ,密码为 pp

下面为常用场景的命令。

创建用户

# MySQL
CREATE USER 'uu'@'%' IDENTIFIED BY 'pp';  # '%'表示可以从所有地址登录
CREATE USER 'uu'@'192.168.%.%' IDENTIFIED BY 'pp';  # 指定IP
CREATE USER 'uu'@'%' IDENTIFIED BY '';  # 无密码

# PostgreSQL
CREATE USER uu WITH PASSWORD 'pp';

MySQL 在 SQL 中对用户的登录地址进行限制,而 PostgreSQL 则依赖更改配置文件 /etc/postgresql/14/main/pg_hba.conf 来实现。个人认为在这个方面,MySQL 更胜一筹。

列出所有用户

# MySQL
SELECT * FROM mysql.user;
SELECT user, host FROM mysql.user;  # 简洁版

# PostgreSQL
\du

创建数据库

CREATE DATABASE dd;

进入数据库

# MySQL
USE dd;

# PostgreSQL
\c dd

赋予 / 撤销用户某个数据库的权限

# MySQL
GRANT ALL ON dd.* TO uu@'%';  # 所有权限
GRANT SElECT ON dd.ttTO uu@'%';  # 指定操作 在 指定数据库和数据表 下的权限

# PostgreSQL
\c dd
# 所有权限——我不知道下面的哪个好用,似乎都需要执行
GRANT ALL ON ALL TABLES IN SCHEMA public TO uu;
GRANT ALL PRIVILEGES ON DATABASE dd TO uu;
GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO uu;

赋予 / 撤销用户所有数据库的权限

# MySQL
GRANT ALL ON *.* TO uu@'%';

设置用户为超级用户

# PostgreSQL
ALTER USER uu WITH SUPERUSER;

仅允许局域网登录

MySQL

CREATE USER 'uu'@'192.168.%。%' IDENTIFIED BY 'pp';
# 这条语句中如果 uu 是已有用户好像也是创建一个新的同名用户,权限、密码等均分开管理
# 如果要更新现有用户,请直接手写 UPDATE 语句更新 mysql.user 表的 host 字段(未经本人实测)

PostgreSQL

# 配置文件中设置
host  all  all  192.168.0.0/16  trust  # 所有以 192.168. 开头的IP可登录

猜你喜欢

转载自blog.csdn.net/weixin_44495599/article/details/126375044