如何在MySQL数据库中设置账户、密码及权限?

在MySQL中,账户权限设置包括创建用户账户、分配密码以及定义用户对数据库的操作权限。

1、账户管理

如何在MySQL数据库中设置账户、密码及权限?

创建用户账户

SQL命令方式

       CREATE USER 'username'@'host' IDENTIFIED BY 'password';

示例

       CREATE USER 'ssh'@'localhost' IDENTIFIED BY 'ssh';

删除用户账户

SQL命令方式

       DROP USER 'username'@'host';

示例

       DROP USER 'testuser'@'localhost';

2、密码管理

修改用户密码

使用SET PASSWORD命令

       SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

示例

如何在MySQL数据库中设置账户、密码及权限?

       SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');

使用UPDATE语句直接修改mysql数据库中的用户表

       UPDATE user SET authentication_string = PASSWORD('newpassword') WHERE User = 'username' AND Host = 'host';
       FLUSH PRIVILEGES;

示例

       UPDATE user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root' AND Host = 'localhost';
       FLUSH PRIVILEGES;

3、权限管理

授予权限

GRANT命令

       GRANT privileges ON databasename.tablename TO 'username'@'host';

示例

       GRANT ALL PRIVILEGES ON *.* TO 'ssh'@'localhost';

授予用户在所有数据库上的所有权限

       GRANT ALL PRIVILEGES ON *.* TO 'ssh'@'%';

允许授权

       GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

撤销权限

REVOKE命令

如何在MySQL数据库中设置账户、密码及权限?

       REVOKE privilege ON databasename.tablename FROM 'username'@'host';

示例

       REVOKE SELECT ON *.* FROM 'ssh'@'%';

查看权限

SHOW GRANTS命令

       SHOW GRANTS FOR 'username'@'host';

示例

       SHOW GRANTS FOR 'ssh'@'localhost';

刷新权限

FLUSH PRIVILEGES命令

       FLUSH PRIVILEGES;

示例

       FLUSH PRIVILEGES;

权限简介

权限 权限级别 权限说明
CREATE 数据库、表或索引 创建数据库、表或索引权限
DROP 数据库或表 删除数据库或表权限
GRANT OPTION 数据库、表或保存的程序 赋予权限选项
REFERENCES 数据库或表 外键约束引用权限
ALTER 更改表,比如添加字段、索引等
DELETE 删除数据权限
INDEX 索引权限
INSERT 插入权限
SELECT 查询权限
UPDATE 更新权限
CREATE VIEW 视图 创建视图权限
SHOW VIEW 视图 查看视图权限
ALTER ROUTINE 存储过程 更改存储过程权限
CREATE ROUTINE 存储过程 创建存储过程权限
EXECUTE 存储过程 执行存储过程权限
FILE 服务器主机上的文件访问 文件访问权限
CREATE TEMPORARY TABLES 服务器管理 创建临时表权限
LOCK TABLES 服务器管理 锁表权限
CREATE USER 服务器管理 创建用户权限
RELOAD 服务器管理 执行flushhosts, flushlogs, flushprivileges, flushstatus, flushtables, flushthreads, refresh, reload等命令的权限
PROCESS 服务器管理 查看进程权限
REPLICATION CLIENT 服务器管理 复制权限
REPLICATION SLAVE 服务器管理 复制权限
SHOW DATABASES 服务器管理 查看数据库权限
SHUTDOWN 服务器管理 关闭数据库权限
SUPER 服务器管理 执行kill线程权限

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1249061.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-10-29 01:31
下一篇 2024-10-29 01:35

相关推荐

  • 如何在 MySQL 数据库中创建只读用户?

    要创建mysql数据库的只读用户,可以使用以下命令:,grant select on 数据库名.* to ‘用户名’@’主机’ identified by ‘密码’;

    2024-10-30
    013
  • 为什么在Mysql中查询不到数据库?

    请确保已正确安装MySQL数据库,并检查连接配置是否正确。

    2024-10-22
    07
  • 如何实现MySQL数据库的远程数据写入?

    要实现MySQL数据库的远程写数据,首先确保MySQL服务端允许远程连接,然后在客户端使用正确的登录凭据进行连接。以下是一个简单的示例:,,1. 在MySQL服务端配置文件(my.cnf或my.ini)中,找到bindaddress配置项,将其设置为0.0.0.0以允许所有IP地址连接。如果没有该配置项,可以添加一行bindaddress = 0.0.0.0。保存并重启MySQL服务。,,2. 在MySQL服务端创建一个具有远程访问权限的用户。可以使用以下命令创建一个名为remote_user,密码为remote_password的用户,并允许其从任何IP地址连接:,,“sql,CREATE USER ‘remote_user’@’%’ IDENTIFIED BY ‘remote_password’;,GRANT ALL PRIVILEGES ON *.* TO ‘remote_user’@’%’ WITH GRANT OPTION;,FLUSH PRIVILEGES;,`,,3. 在客户端使用MySQL命令行工具或其他MySQL客户端库(如Python的mysqlconnectorpython)连接到远程MySQL服务器。使用命令行工具,输入以下命令:,,`bash,mysql h P u remote_user p,`,,将替换为远程MySQL服务器的IP地址,将`替换为MySQL服务器的端口号(默认为3306)。输入密码后,即可开始远程操作MySQL数据库。

    2024-10-12
    04
  • 如何在宝塔面板中配置数据库访问权限?

    在宝塔面板中,通过“数据库”模块选择目标数据库,进入管理页面后点击“权限”,即可进行添加、删除和修改数据库权限。

    2024-10-09
    0142

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入