一、权限分配
①可视化数据库软件进行操作,例如Navicat:
1.用root用户登录
2.测试连接:连接成功后登录数据库
②在Linux上设置MySQL数据库的权限
登录到MySQL服务器:使用具有管理员权限的用户(如root用户)登录到MySQL服务器。
后续可以按照以下步骤进行操作:
-
创建新用户:使用
CREATE USER
语句创建一个新用户。例如,创建名为username
的用户:CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
-
授予权限:使用
GRANT
语句给用户分配所需的权限。例如,授予用户username
对数据库database_name
的所有表的读写权限:GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
-
刷新权限:在完成权限更改后,使用
FLUSH PRIVILEGES
命令刷新权限,以使更改生效:FLUSH PRIVILEGES;
-
修改MySQL配置文件:打开MySQL的配置文件(通常位于
/etc/mysql/my.cnf
或/etc/my.cnf
),找到并编辑[mysqld]
部分,在其中添加以下行来启用远程访问:bind-address = 0.0.0.0
-
重启MySQL服务:根据您的Linux发行版,执行适当的命令来重启MySQL服务。例如,使用
systemctl
命令重启服务:sudo systemctl restart mysql
二、权限分配,常用命令SQL
1.root用户下查看有哪些授权用户
SELECT user, host FROM mysql.user;
2.修改用户名
RENAME USER 'old_username'@'host' TO 'new_username'@'host';
3.给分配权限的用户修改登录密码?
ALTER USER 'your_username'@'localhost' IDENTIFIED BY 'new_password';
刷新权限:在完成密码更改后,使用以下命令刷新权限,以使更改生效:
FLUSH PRIVILEGES;
4.查看当前用户权限
SHOW GRANTS FOR 'username'@'host';
5.修改用户权限:根据需要,使用 REVOKE
和 GRANT
语句对用户的权限进行更正。
a. 如果您需要收回用户的某些权限,可以使用 REVOKE
语句。例如,以下命令将收回用户 username
的 SELECT 权限:
REVOKE SELECT ON database_name.* FROM 'username'@'host';
b. 如果您需要重新授予或修改用户的权限,可以使用 GRANT
语句。例如,以下命令将授予用户 username
对数据库 database_name
的 SELECT 权限:
GRANT SELECT ON database_name.* TO 'username'@'host';
在上述命令中,database_name
是要授予或收回权限的数据库名称,username
是要更正权限的用户名,host
是与用户关联的主机名或IP地址。
刷新权限:不管是修改用户名还是密码,还是权限等,最后都需要使用以下命令刷新权限,以使更改生效:
FLUSH PRIVILEGES;