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

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

访问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';

用户名'@'localhost的show grants;命令显示与 mysql 中指定用户关联的权限。它对于检查用户对数据库的权限很有用。

撤销权限

revoke 命令用于删除 mysql 中用户的特定权限。

revoke all privileges on database_name.* from 'user_name'@'localhost';
  • 撤销权限后,用户仍然存在,但在指定数据库中没有权限。
  • 建议撤销权限后运行 flush privileges 命令,以确保更改立即应用。

列出用户

select user, host from mysql.user;

select 用户,host from mysql.user;该命令用于查询mysql中的mysql.user表,该表存储了系统中创建的所有用户的信息。

了解哪个用户已连接

SELECT USER();

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

以上就是MySQL 终端:登录、用户和权限的详细内容,更多请关注其它相关文章!