
访问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。
