以前用的图形化界面,刚用命令行记录一下基本操作。
1.登录
mysql -u 用户名 -p
其中,将 用户名
替换为 的 MySQL 用户名。然后,系统会提示 输入密码
2.登录成功后,使用以下命令来查看数据库列表:
SHOW DATABASES;
这将显示所有可用的数据库列表。
3.要查看特定数据库的详细信息,可以使用以下命令:
USE 数据库名; SHOW TABLES;
将 数据库名
替换为 要查看的数据库名称。第一条命令 USE 数据库名;
用于选择要使用的数据库,然后第二条命令 SHOW TABLES;
将显示该数据库中的所有表格。
4.如果 想查看特定表的详细信息,可以使用以下命令:
DESCRIBE 表名;
5.要查询数据库用户及其权限,使用以下 SQL 查询语句:
SELECT user, host FROM mysql.user;
这将返回一个结果集,其中包含所有数据库用户及其对应的主机。每一行表示一个用户,user
列显示用户名,host
列显示用户所在的主机。
6.查看用户的权限信息,可以使用以下 SQL 查询语句:
SHOW GRANTS FOR '用户名'@'主机名';
将 '用户名'
替换为要查询的数据库用户名,'主机名'
替换为用户所在的主机名。这将返回该用户在指定主机上的权限信息。
请注意,执行这些查询需要具有足够的权限。通常,只有具有 SELECT
权限的用户才能查询用户和权限信息。
7.授予用户权限:
grant all privileges on *.* to 'xuanjin'@'192.168.1.%' with grant option;
all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。 on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:'zhangsan'@'192.168.1.%',表示zhangsan这个用户只能在192.168.0. IP段登录 with grant option:通过在grant语句的最后使用该子句,就允许被授权的用户把得到的权限继续授给其它用户
8.撤销用户权限:
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
将 权限列表
替换为您要撤销的具体权限,例如 SELECT, INSERT, UPDATE
。将 数据库名.表名
替换为要撤销权限的数据库和表名。将 '用户名'@'主机名'
替换为要撤销权限的用户和主机名。
9.刷新权限:
FLUSH PRIVILEGES;
在更改用户权限后,使用此命令刷新权限,以使更改生效。
请注意,执行这些命令需要具有足够的权限。通常,只有具有 GRANT
权限的用户才能更改其他用户的权限。