mysql 打开数据库需要什么权限 如何把mysql设置成网络数据库,即远程访问mysql?
如何把mysql设置成网络数据库,即远程访问mysql?
第一种方法:直接输入账户名和密码进入数据库。找到mysql数据库的user表,直接updateroot用户的Host,将Host:localhost,user:root改成Host:%,user:root然后mysqlgtflushprivileges(运行此句才生效,或者重启MySQL)。
因为mysql的权限都在cache里,所以要刷新一下。改成%后,任意IP都可访问mysql服务器,十分不安全。可以将%将换成一个IP地址,即只允许来自该IP地址的访问。
第二种方法:直接输入账户名和密码进入数据库。mysqlgtGRANTALLPRIVILEGESON*.*TO#39root#39@#39%#39IDENTIFIEDBY#39youpassword#39WITHGRANTOPTIONmysqlgtflushprivileges可以将%将换成一个IP地址,即只允许来自该IP地址的访问。
root用户权限过大,建议新建用户,赋予其对某个数据库的部分权限
如何查看数据库中的授权信息?
MySQL中所有使用者的权限是记录在mysql这个数据库的users资料表中所以你只要先use mysql再SELECT * FROM users 你可以看到所有的使用者权限有关db的数据是记录在Db(大小写要注意)这个数据表中所以只要呼叫出Db的资料 SELECT * FROM Db 就可以看到你要的答案或者你可以用 SELECT * FROM Db WHERE DbphplampDB找出你要的答案
mysql对象权限分为哪三个级别?
Mysql的权限共分为5个级别,分别是
level
Global Level的权限控制又称为全局权限控制,所有权限信息都保存在表中。
level
Database level是在global level之下,其他三个level之上的级别,其作用域即为指定整个数据库中的所有对象。
level
Table level权限是database level之下的级别,它会被global level和database level覆盖,但它同样也有能力覆盖下面的两个级别。
level
Column level仅仅是对某个表的指定的列设置权限。它同样可以被其上的级别覆盖,但不会覆盖其下的routine level级别,因为它与routine level没有权限重合。
level
Routine level权限只有execute和alter routine两种,主要针对procedure和function。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。