如何创建MySQL数据库用户并建立连接?

在MySQL中,新建数据库用户可以通过以下SQL语句实现:,,“sql,CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';,`,,创建一个名为newuser的用户,密码为newpassword,允许从任何主机连接:,,`sql,CREATE USER 'newuser'@'%' IDENTIFIED BY 'newpassword';,

MySQL新建数据库用户

如何创建MySQL数据库用户并建立连接?

创建用户

1、使用CREATE USER语句创建用户

基本语法

“`sql

CREATE USER ‘用户名’@’主机名’ IDENTIFIED BY ‘密码’;

“`

示例

创建一个名为testUser的用户,密码为password123,只能从本地连接

“`sql

CREATE USER ‘testUser’@’localhost’ IDENTIFIED BY ‘password123’;

“`

注意事项

用户名主机名之间用@符号连接。

%表示允许从任何主机连接;指定特定IP地址则只允许从该IP连接。

新用户的默认权限很少,需要进一步授予权限。

2、使用INSERT语句在mysql.user表中添加用户

基本语法

“`sql

INSERT INTO mysql.user (Host, User, authentication_string) VALUES (‘主机名’, ‘用户名’, PASSWORD(‘密码’));

“`

示例

创建一个名为testUser2的用户,密码为password456,只能从本地连接:

“`sql

INSERT INTO mysql.user (Host, User, authentication_string) VALUES (‘localhost’, ‘testUser2’, PASSWORD(‘password456’));

“`

注意事项

必须拥有对mysql.user表的INSERT权限。

在MySQL 5.7及以上版本中,authentication_string字段代替了Password字段。

授权用户

1、授予所有权限

语法

“`sql

GRANT ALL PRIVILEGES ON *.* TO ‘用户名’@’主机名’;

“`

示例

授予testUser用户对所有数据库的所有权限:

“`sql

GRANT ALL PRIVILEGES ON *.* TO ‘testUser’@’localhost’;

FLUSH PRIVILEGES;

如何创建MySQL数据库用户并建立连接?

“`

2、授予特定数据库的权限

语法

“`sql

GRANT ALL PRIVILEGES ON 数据库名.* TO ‘用户名’@’主机名’;

“`

示例

授予testUser用户对testDB数据库的所有权限:

“`sql

GRANT ALL PRIVILEGES ON testDB.* TO ‘testUser’@’localhost’;

FLUSH PRIVILEGES;

“`

3、授予特定表的权限

语法

“`sql

GRANT 权限类型 ON 数据库名.表名 TO ‘用户名’@’主机名’;

“`

示例

授予testUser用户对testDB.table1表的SELECTINSERT权限:

“`sql

GRANT SELECT, INSERT ON testDB.table1 TO ‘testUser’@’localhost’;

FLUSH PRIVILEGES;

“`

删除用户

1、删除用户

语法

“`sql

DROP USER ‘用户名’@’主机名’;

“`

示例

删除testUser用户:

“`sql

DROP USER ‘testUser’@’localhost’;

“`

2、删除用户及其数据库

语法

“`sql

DROP USER ‘用户名’@’主机名’;

DROP DATABASE 数据库名;

如何创建MySQL数据库用户并建立连接?

“`

示例

删除testUser2用户及其数据库testDB2

“`sql

DROP USER ‘testUser2’@’localhost’;

DROP DATABASE testDB2;

“`

修改用户密码

1、修改用户密码

方法一:实时更新

“`sql

SET PASSWORD FOR ‘用户名’@’主机名’ = PASSWORD(‘新密码’);

“`

示例

testUser用户的密码改为newPassword123

“`sql

SET PASSWORD FOR ‘testUser’@’localhost’ = PASSWORD(‘newPassword123’);

“`

2、修改用户密码

方法二:需要刷新权限

“`sql

UPDATE mysql.user SET authentication_string = PASSWORD(‘新密码’) WHERE User = ‘用户名’ AND Host = ‘主机名’;

FLUSH PRIVILEGES;

“`

示例

testUser用户的密码改为newPassword456

“`sql

UPDATE mysql.user SET authentication_string = PASSWORD(‘newPassword456’) WHERE User = ‘testUser’ AND Host = ‘localhost’;

FLUSH PRIVILEGES;

“`

FAQs(常见问题解答)

Q1: 如何查看MySQL中所有用户及其权限?

A1: 你可以使用以下SQL命令来查看所有用户及其权限:

SELECT user, host, authentication_string FROM mysql.user;
SHOW GRANTS FOR '用户名'@'主机名';

第一个命令列出了MySQL中的用户信息,第二个命令显示特定用户的权限。

Q2: 如何在MySQL中撤销用户的权限?

A2: 你可以使用以下SQL命令来撤销用户的权限:

REVOKE 权限类型 ON 数据库名.表名 FROM '用户名'@'主机名';
FLUSH PRIVILEGES;

要撤销testUser用户对testDB.table1表的SELECT权限,可以执行以下命令:

REVOKE SELECT ON testDB.table1 FROM 'testUser'@'localhost';
FLUSH PRIVILEGES;

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

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

(0)
未希新媒体运营
上一篇 2024-09-28 19:37
下一篇 2024-09-28

相关推荐

  • 什么是负载均衡连接及其工作原理?

    负载均衡连接一、负载均衡的定义与原理 定义负载均衡(Load Balancing)是一种将网络流量、请求或工作负载分配到多个服务器或计算资源上的技术,其目的是提高系统的性能、可靠性和可扩展性, 原理负载均衡的原理可以分为两个方面:流量分发和健康检查,流量分发:负载均衡器接收到来自客户端的请求后,需要将请求分发到……

    2024-11-06
    07
  • 如何在Android真机上连接本地服务器?

    要在Android真机上连接本地服务器,首先确保手机和电脑在同一网络下,然后在Android设备的浏览器中输入电脑的IP地址即可访问。

    2024-11-03
    013
  • 如何在IntelliJ IDEA中通过本地License Server进行授权?

    Intellij Idea通过本地license server授权服务器IntelliJ IDEA是一款非常流行的Java集成开发环境(IDE),它提供了强大的功能和便捷的操作,深受开发者的喜爱,IntelliJ IDEA是一款商业软件,需要购买许可证才能使用其全部功能,本文将介绍如何通过本地License S……

    2024-10-29
    014
  • 如何实现MySQL虚拟主机的连接?

    配置网络1. 虚拟机网络模式选择虚拟机的网络配置是连接成功的关键,常见的网络模式包括桥接模式和NAT模式,桥接模式:允许虚拟机像主机一样接入网络,拥有独立的IP地址,使用桥接模式时,确保虚拟机和主机在同一网络段内,NAT模式:为虚拟机提供NAT(网络地址转换)服务,虚拟机通过主机的IP地址访问外部网络,这种模式……

    2024-10-29
    021

发表回复

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

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