mysql新安装后创建用户,赋权限

本文介绍了如何在MySQL中创建用户、为用户分配特定权限以及更新权限。通过具体示例展示了基本的SQL命令,例如CREATE USER和GRANT,以及如何指定不同级别(如表级或数据库级)的访问权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建用户:

create user 'username'@'host' identified by 'password';



2、赋予权限

GRANT privileges ON databasename.tablename TO 'username'@'host'
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).
         如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
如: 
GRANT SELECT, INSERT ON tablename TO 'study'@'%';
GRANT ALL ON study.* TO 'study'@'%';

执行以下语句,刷新权限:

FLUSH PRIVILEGES;


如果想使得外网可以访问,执行以下语句:
grant all privileges on study.* to 'study'@'%' identified by '123456';


OK!

MySQL 8.0.28版本中,给名为"ukdb"的用户予root权限需要通过一系列步骤操作数据库,因为默认情况下,非root用户无法直接切换到root权限。以下是大致的步骤: 1. **登录系统账户**:首先,使用有管理员权限的账号登录MySQL服务器。 2. **启动命令模式**:运行`mysql -u root -p`进入MySQL命令行界面,并输入root用户的密码。 3. **切换到目标数据库用户**:使用`USE mysql;`命令切换到MySQL的系统数据库。 4. **创建新角色并权**:如果尚未存在,可以创建一个新的角色,如: ```sql CREATE ROLE ukdb_root_role; ``` 5. **将特定权限授予角色**: ```sql GRANT ALL PRIVILEGES ON *.* TO 'ukdb'@'localhost' IDENTIFIED BY 'your_password' WITH GRANT OPTION; ``` 这里假设"your_password"是你想要分配给ukdb用户的密码。如果ukdb用户应能从远程连接,则替换为适当的主机名。 6. **修改ukdb用户权限设置**: ```sql ALTER USER 'ukdb'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password'; ``` 使用`mysql_native_password`是因为在某些情况下,MySQL可能需要这种加密插件。 7. **将root权限绑定到角色上**: ```sql GRANT ALL PRIVILEGES ON *.* TO 'ukdb_root_role'@'localhost'; GRANT ukdb_root_role TO 'ukdb'@'localhost'; ``` 8. **刷新权限缓存**: ```sql FLUSH PRIVILEGES; ``` 完成以上步骤后,ukdb用户现在应该拥有root级别的权限了。但是出于安全考虑,通常推荐为每个用户分配最小必要的权限,而不是全部的root权限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值