MySQL 终端:登录、用户和权限
访问mysql
sudo mysql -u root -p
sudo mysql -u root -p 命令用于以具有管理权限的 root 用户身份访问 mysql。运行命令后,会提示输入mysql root用户密码。
如果您没有为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 终端:登录、用户和权限的详细内容,更多请关注其它相关文章!