”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > MySQL 终端:登录、用户和权限

MySQL 终端:登录、用户和权限

发布于2024-11-02
浏览:110

MySQL Terminal: Login, Users and Permissions

访问MySQL

sudo mysql -u root -p 

sudo mysql -u root -p 命令用于以具有管理权限的 root 用户身份访问 MySQL。运行命令后,会提示输入MySQL root用户密码。

  • sudo:以超级用户权限运行命令。
  • mysql: 启动 MySQL 客户端。
  • -u root:指定您以“root”用户身份连接。
  • -p:请求MySQL询问指定用户的密码。

如果没有为MySQL root用户设置密码,命令可能会失败。如果是这种情况,您可以设置密码或不使用 -p(无密码)选项访问 MySQL。

创建一个新用户

SQL CREATE USER 命令用于在 MySQL 中使用用户名和密码创建新用户。

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
  • 用户名:您正在创建的新用户的名称。
  • localhost:指定用户只能从运行 MySQL 的服务器连接到 MySQL。如果要允许远程连接,可以将 localhost 替换为 % 或特定的 IP 地址。
  • 密码:将与该用户关联的密码。

创建用户后,需要为其授予权限。

授予用户权限

  • 授予数据库的所有权限

如果要授予特定数据库的所有权限,请使用:

GRANT ALL PRIVILEGES ON database_name.* TO 'user_name'@'localhost';
  • 特定权限

还可以指定权限,如SELECT、INSERT、UPDATE、DELETE等

GRANT permission ON database_name.* TO 'user_name'@'localhost';
  • 特定表的权限

仅授予特定表的权限

GRANT ALL PRIVILEGES ON database_name.table_name TO 'user_name'@'localhost';
  • 授予全局权限

授予所有数据库的权限

GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'localhost';
  • 允许用户向其他用户授予权限
GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'localhost' WITH GRANT OPTION;

更新权限

FLUSH PRIVILEGES 命令用于在 MySQL 中重新加载权限表,使您对用户权限所做的更改生效,无论是使用 GRANT、REVOKE 还是 CREATE USER 命令。

FLUSH PRIVILEGES;

检查权限

SHOW GRANTS FOR 'username'@'localhost';

SHOW GRANTS FOR username'@'localhost;命令显示与 MySQL 中指定用户关联的权限。它对于检查用户对数据库拥有的权限很有用。

撤销权限

REVOKE命令用于删除MySQL中用户的特定权限。

REVOKE ALL PRIVILEGES ON database_name.* FROM 'user_name'@'localhost';
  • 撤销权限后,用户仍然存在,但在指定数据库中没有权限。
  • 建议在撤销权限后运行 FLUSH PRIVILEGES 命令,以确保更改立即应用。

列出用户

SELECT User, Host FROM mysql.user;

SELECT User, Host FROM mysql.user;命令用于查询MySQL中的mysql.user表,该表存储了系统中创建的所有用户的信息。

了解哪个用户已连接

SELECT USER();

选择用户(); MySQL 中的命令返回您在当前会话中使用的用户名和主机名。它是一个显示使用哪个用户帐户连接到数据库的函数,格式为 user@host.

版本声明 本文转载于:https://dev.to/xxzeroxx/mysql-terminal-login-users-and-permissions-53ie?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 如何有效地转换PHP中的时区?
    如何有效地转换PHP中的时区?
    在PHP 利用dateTime对象和functions DateTime对象及其相应的功能别名为时区转换提供方便的方法。例如: //定义用户的时区 date_default_timezone_set('欧洲/伦敦'); //创建DateTime对象 $ dateTime = ne...
    编程 发布于2025-07-16
  • 如何使用FormData()处理多个文件上传?
    如何使用FormData()处理多个文件上传?
    )处理多个文件输入时,通常需要处理多个文件上传时,通常是必要的。 The fd.append("fileToUpload[]", files[x]); method can be used for this purpose, allowing you to send multi...
    编程 发布于2025-07-16
  • Go语言如何动态发现导出包类型?
    Go语言如何动态发现导出包类型?
    与反射软件包中的有限类型的发现能力相反,本文探讨了在运行时发现所有包装类型(尤其是struntime go import( “ FMT” “去/进口商” ) func main(){ pkg,err:= incorter.default()。导入(“ time”) ...
    编程 发布于2025-07-16
  • 为什么HTML无法打印页码及解决方案
    为什么HTML无法打印页码及解决方案
    无法在html页面上打印页码? @page规则在@Media内部和外部都无济于事。 HTML:Customization:@page { margin: 10%; @top-center { font-family: sans-serif; font-weight: bo...
    编程 发布于2025-07-16
  • Spark DataFrame添加常量列的妙招
    Spark DataFrame添加常量列的妙招
    在Spark Dataframe ,将常数列添加到Spark DataFrame,该列具有适用于所有行的任意值的Spark DataFrame,可以通过多种方式实现。使用文字值(SPARK 1.3)在尝试提供直接值时,用于此问题时,旨在为此目的的column方法可能会导致错误。 df.withco...
    编程 发布于2025-07-16
  • 如何检查对象是否具有Python中的特定属性?
    如何检查对象是否具有Python中的特定属性?
    方法来确定对象属性存在寻求一种方法来验证对象中特定属性的存在。考虑以下示例,其中尝试访问不确定属性会引起错误: >>> a = someClass() >>> A.property Trackback(最近的最新电话): 文件“ ”,第1行, AttributeError: SomeClass...
    编程 发布于2025-07-16
  • 左连接为何在右表WHERE子句过滤时像内连接?
    左连接为何在右表WHERE子句过滤时像内连接?
    左JOIN CONUNDRUM:WITCHING小时在数据库Wizard的领域中变成内在的加入很有趣,当将c.foobar条件放置在上面的Where子句中时,据说左联接似乎会转换为内部连接。仅当满足A.Foo和C.Foobar标准时,才会返回结果。为什么要变形?关键在于其中的子句。当左联接的右侧值...
    编程 发布于2025-07-16
  • input: Why Does "Warning: mysqli_query() expects parameter 1 to be mysqli, resource given" Error Occur and How to Fix It?

output: 解决“Warning: mysqli_query() 参数应为 mysqli 而非 resource”错误的解析与修复方法
    input: Why Does "Warning: mysqli_query() expects parameter 1 to be mysqli, resource given" Error Occur and How to Fix It? output: 解决“Warning: mysqli_query() 参数应为 mysqli 而非 resource”错误的解析与修复方法
    mysqli_query()期望参数1是mysqli,resource给定的,尝试使用mysql Query进行执行MySQLI_QUERY_QUERY formation,be be yessqli:sqli:sqli:sqli:sqli:sqli:sqli: mysqli,给定的资源“可能发...
    编程 发布于2025-07-16
  • C++中如何将独占指针作为函数或构造函数参数传递?
    C++中如何将独占指针作为函数或构造函数参数传递?
    在构造函数和函数中将唯一的指数管理为参数 unique pointers( unique_ptr [2启示。通过值: base(std :: simelor_ptr n) :next(std :: move(n)){} 此方法将唯一指针的所有权转移到函数/对象。指针的内容被移至功能中,在操作...
    编程 发布于2025-07-16
  • C++成员函数指针正确传递方法
    C++成员函数指针正确传递方法
    如何将成员函数置于c [&& && && && && && && && && && &&&&&&&&&&&&&&&&&&&&&&&华仪的函数时,在接受成员函数指针的函数时,要在函数上既要提供指针又可以提供指针和指针到函数的函数。需要具有一定签名的功能指针。要通过成员函数,您需要同时提供对象指针(此...
    编程 发布于2025-07-16
  • 为什么使用Firefox后退按钮时JavaScript执行停止?
    为什么使用Firefox后退按钮时JavaScript执行停止?
    导航历史记录问题:JavaScript使用Firefox Back Back 此行为是由浏览器缓存JavaScript资源引起的。要解决此问题并确保在后续页面访问中执行脚本,Firefox用户应设置一个空功能。 警报'); }; alert('inline Alert')...
    编程 发布于2025-07-16
  • 在GO中构造SQL查询时,如何安全地加入文本和值?
    在GO中构造SQL查询时,如何安全地加入文本和值?
    在go中构造文本sql查询时,在go sql queries 中,在使用conting and contement和contement consem per时,尤其是在使用integer per当per当per时,per per per当per. 在GO中实现这一目标的惯用方法是使用fmt.spr...
    编程 发布于2025-07-16
  • 如何使用Regex在PHP中有效地提取括号内的文本
    如何使用Regex在PHP中有效地提取括号内的文本
    php:在括号内提取文本在处理括号内的文本时,找到最有效的解决方案是必不可少的。一种方法是利用PHP的字符串操作函数,如下所示: 作为替代 $ text ='忽略除此之外的一切(text)'; preg_match('#((。 &&& [Regex使用模式来搜索特...
    编程 发布于2025-07-16
  • 找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    如何在mySQL中使用mySql 检索最大计数,您可能会遇到一个问题,您可能会在尝试使用以下命令:理解错误正确找到由名称列分组的值的最大计数,请使用以下修改后的查询: 计数(*)为c 来自EMP1 按名称组 c desc订购 限制1 查询说明 select语句提取名称列和每个名称...
    编程 发布于2025-07-16
  • 如何使用Depimal.parse()中的指数表示法中的数字?
    如何使用Depimal.parse()中的指数表示法中的数字?
    在尝试使用Decimal.parse(“ 1.2345e-02”中的指数符号表示法表示的字符串时,您可能会遇到错误。这是因为默认解析方法无法识别指数符号。 成功解析这样的字符串,您需要明确指定它代表浮点数。您可以使用numbersTyles.Float样式进行此操作,如下所示:[&& && && ...
    编程 发布于2025-07-16

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3