在 MySQL 中创建用户和分配权限

在 MySQL 中创建用户和分配权限

  1. 登录到 MySQL

    首先,使用 root 用户或其他具有足够权限的用户登录到 MySQL:

    bash 复制代码
    mysql -u root -p
  2. 创建新用户

    在 MySQL 提示符下,使用以下命令创建新用户:

    sql 复制代码
    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

    newuserpassword 替换为您想要的用户名和密码。

    如果你想能通过该用户远程登录数据库,可以'localhost'(表示当地访问) 改为'%' (表示任何远程ip地址都能访问)

  3. 授予权限

    然后,根据需要给新用户授予权限。例如,要赋予用户对特定数据库的所有权限:

    sql 复制代码
    GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';

    这里的 database_name 应替换为您希望用户访问的数据库名。

  4. 刷新权限

    执行以下命令以使更改生效:

    sql 复制代码
    FLUSH PRIVILEGES;
  5. 退出 MySQL

    sql 复制代码
    EXIT;

在 PostgreSQL 中创建用户和分配权限

  1. 登录到 PostgreSQL

    使用 psql 工具和足夠权限的用户登录到 PostgreSQL:

    bash 复制代码
    sudo -u postgres psql
  2. 创建新用户

    使用以下命令创建新用户(在 PostgreSQL 中称为角色):

    sql 复制代码
    CREATE USER newuser WITH PASSWORD 'password';

    newuserpassword 替换为您选择的用户名和密码。

  3. 创建数据库 (如果需要):

    如果还需要创建一个新数据库,可以使用:

    sql 复制代码
    CREATE DATABASE database_name;
  4. 授予权限

    授予用户对特定数据库的权限:

    sql 复制代码
    GRANT ALL PRIVILEGES ON DATABASE database_name TO newuser;
  5. 退出 PostgreSQL

    sql 复制代码
    \q

注意事项

  • 权限粒度 :您可以根据需要调整权限的粒度,例如只授予读取(SELECT)、修改(INSERT, UPDATE, DELETE)等特定权限。

  • 远程访问 :如果用户需要从远程地址访问数据库,需要使用 'newuser'@'%'(MySQL)或适当配置 pg_hba.conf 文件(PostgreSQL)。

  • 安全性:确保使用强密码,特别是当数据库可以从外部网络访问时。

  • 注意点 : 注意要打开安全组3306端口 ,和打开防火墙3306端口(特别是使用宝塔的伙伴)

相关推荐
广州灵眸科技有限公司4 分钟前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
Cloud云卷云舒2 小时前
云卷云舒:从Oracle/MySQL迁移到HaishanDB:迁移评估工具核心技术拆解
mysql·oracle·ai-native·haishandb·信创数据库替换
憧憬成为web高手3 小时前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
段一凡-华北理工大学3 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
oradh5 小时前
Oracle XTTS实现跨版本迁移和升级(Oracle 11g单库升级至19C RAC集群)
数据库·oracle·11g升级19c·xtts跨版本迁移和升级
用户71333585156245 小时前
MySQL - 事务、redo/undo 日志与 MVCC
mysql
z123456789866 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
程序猿DD6 小时前
一个 API Key,统一调用大模型、生图和联网搜索
数据库·网关
java_logo6 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
用户71333585156246 小时前
MySQL - InnoDB 的 Buffer Pool
mysql