首页 > 编程知识 正文

mysql允许远程登录,mysql切换用户命令

时间:2023-05-06 09:06:59 阅读:131331 作者:3906

一, 介绍MySQL权限级别全局——可以管理整个MySQL库——可以管理指定数据库表——可以管理指定数据库指定表字段——可以管理指定数据库的指定表存储在库的user、db、tables_priv、columns_priv、Prooiv中

二、用户权限1、查看所有用户(用户名、给谁授权)

SELECT user,host FROM mysql.user;2、查看单个用户所有情况

select * from MySQL.userwhereuser=' root 'gg相当’; ”

G在单独的行中打印每个字段。 ’; '的作用用户信息:授权对象,连接用户名,用户密码

Host: %#授权用户,%是所有User: root#用户名authentic ation _ string 3360 * 6bb 4837 EB 74329105 ee 4568 DDA7DC 67 ed2ca 2ad 9

Select_priv :确定用户是否可以在SELECT命令中选择数据Insert_priv :确定用户是否可以在INSERT命令中插入数据Update_priv :用户是否可以插入更新命令确定是否可以使用DELETE命令删除现有数据priv :确定用户是否可以创建新数据库和表Drop_priv :确定用户是否可以删除现有数据库和表Reload_priv 确定是否可以运行空闲的内部缓存“日志、权限、主机、查询、表Shutdown_priv”“确定用户是否可以关闭MySQL”如果要向超级用户以外的用户提供此权限确定用户是否可以使用SHOW File_priv。 确定是否可以运行SELECT INTO OUTFILE和LOAD DATA INFILE命令Grant_priv。 确定用户是否可以将授予他的权限授予其他用户。 例如,如果用户可以插入、选择和删除foo数据库中的信息,并且已授予GRANT权限,则该用户可以将该权限授予系统中的其他用户References_priv。 现在只是未来功能的占位符。 Index_priv当前不起作用。 确定用户是否可以创建和删除表索引Alter_priv。 确定用户是否可以重命名和更改表结构Show_db_priv。 确定用户是否可以查看服务器上所有数据库的名称。 这可能包括用户具有足够访问权限的数据库,也可能对所有用户禁用此权限。 Super_priv :确定用户是否可以执行某些强大的管理功能,如使用KILL命令删除用户进程或使用SET GLOBAL修改全局MySQL变量,除非另有无法抗拒的原因。 运行各种复制和日志命令Create_tmp_table_priv。 确定是否可以创建临时表Lock_tables_priv。 确定是否可以使用LOCK Execute_priv。 确定是否可以执行存储过程。 此权限仅在MySQL 5.0或更高版本中有意义。 Repl_slave_priv确定用户是否可以读取用于维护复制数据库环境的二进制日志文件。 此用户在主系统上。 有助于主机和客户端之间通信的Repl_client_priv :用户是否可以确定复制副本从服务器和主服务器的位置Create_view_priv :确定用户是否可以创建视图。 此权限是仅在MySQL 5.0或更高版本中有意义的Show_view_priv。 确定用户是否可以创建视图。此权限仅在MySQL 5.0或更高版本中有意义。 create_routine_priv:MySQL5.0中引入的Alter_routine_priv。 确定用户是否可以修改或删除存储过程和函数。 此权限是MySQL 5.0中引入的Create_user_priv。 确定用户是否可以运行CREATE Event_priv。 确定用户是否可以创建、修改和删除事件。 此权限是MySQL 5.1.6中新添加的Trigger_priv。 确定用户是否可以创建和删除触发器,此权限是MySQL 5.1.6中新添加的Create_tablespace_priv:用于创建表的空间http://www.Sina

三.许可证授权信息

flush权限;

格式:

授权[权限] ON [库.表] TO [用户名]@[IP] IDENTIFIED BY [密码] # WITH GRANT OPTION; 授权命令说明:

)1)所有权限代表所有权限。 也可以使用select、update等权限。

) ON用于指定对哪个库和表的权限。

(3) *.*前的号码用于指定数据库名称,后的号码为

号用来指定表名。
(4)TO 表示将权限赋予某个用户。
(5)@ 前面表示用户,@后面接限制的主机,可以是IP、IP段、域名以及%,%表示任何地方。
(6)IDENTIFIED BY 指定用户的登录密码。
(7)WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人。

注意:经常有人在创建操作用户的时候不指定WITH GRANT OPTION选项导致后来该用户不能使用GRANT命令创建用户或者给其它用户授权。
备注:可以使用GRANT重复给用户添加权限,权限叠加,比如你先给用户添加一个select权限,然后又给用户添加一个insert权限,那么该用户就同时拥有了select和insert权限。

1、全局授权(直接把 root 限制主机改为 %,任意主机)
因为 root 是数据库用户默认最高权限

UPDATE mysql.user SET user.Host='%' where user.User='root';FLUSH PRIVILEGES;

当然也可以新建一个用户,给与全部权限

GRANT ALL PRIVILEGESON *.*TO admin@'175.155.59.133'IDENTIFIED BY 'admin';

这样你就可以在远程连接到该数据库,且获取全部权限。

2、单个数据库授权

只给175.155.59.133这个 IP 赋给 ctrip 数据库 查询的权限,用户:ctrip,密码:ctrip

GRANT selectON ctrip.*TO ctrip@'175.155.59.133'IDENTIFIED BY 'ctrip';

声明:
(1)用ipconfig查询出来的IP,那是局域网的,这么设置只能局域网内使用,
(2)要想服务器和本机连接,IP 必须是网关的IP,推荐使用 https://www.ipip.net/ 查询自己的 IP。

可以看到本机连接有 ctrip 数据库和一个数据库本身库,而看不到其他库。注意此时可以看到两个表。

3、单个数据库单个表授权

GRANT selectON ctrip.t_planeTO ctrip@'175.155.59.133'IDENTIFIED BY 'ctrip';

可以看到只有一个表显示出来,注意现在字段

4、单个数据库单个表授权某些字段授权

GRANT select(id,EN)ON ctrip.t_planeTO ctrip@'175.155.59.133'IDENTIFIED BY 'ctrip';

这样做的话,我们是连表都是打不开的,只能通过查询语句,查出对我们开放的字段

四、收回权限、删除用户

1、收回权限
格式:

REVOKE [权限] ON [库.表] FROM [用户名]@[IP];

操作:

REVOKE select(id,EN)ON ctrip.t_planeFROM ctrip@'175.155.59.133';

2、删除用户
格式:

DROP USER [用户名]@[IP];

操作:

DROP USER ctrip@'175.155.59.133';

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。