我们在使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。
缺省状态下,mysql的默认用户没有远程访问的权限。
下面给大家介绍两种方法,解决这一问题。
1.1 方案1:改表法
由于账号默认没有远程访问权限,所以首先登录本地电脑的MySQL,更改mysql数据库里中user表里的host项。
非生产环境中,使用以上方式可以迅速解决问题。
但如果是实际的生产环境,肯定还是需要重新创建一个用户,然后根据需要分配访问ip和权限(授权法)。
1.2 方案2:授权法
1、安装phpstudy服务器,可以到官网下载这个服务器,会有详细的安装步骤,安装成功后,界面会下图的图标,如下图 2、进入phpstudy后点启动就相当于启动phpstudy,启动,停止,重启就如字面意思一样,如下图 3、点击MySQL管理。
1.1.1 权限表
打开mysql的方法:1、使用MySql自带的命令行工具打开mysql 2、使用cmd命令行打开 先把mysql bin目录路径添加到系统环境变量path中,之后在cmd中输入mysql -h 127.0.0.1 -u root -p 然后输入密码即可连接mysql。
下面我们先来了解一下user表。
user表是MySQL中最重要的一个权限表,表中的列很多,我们可以通过下面的命令查看表的基本结构:
我们重点关注user和host这两个字段。用户登录时,安装好mysql怎么进入,首先要判断的就是这两个字段和登录密码的值,这3个字段的值同时匹配,MySQL数据库系统才允许用户登录。
1.1.2 添加新用户并授权
根据需要创建相应的用户及访问权限即可
1.3 关于MySQL用户帐号管理的相关知识点
1.3.1 GRANT语法
示例:
1、‘%’代表任意字符,‘_’代表一个任意字符;主机名部份还可以是IP地址
2、如果没有给定主机部份,则默认为任意主机,也就是&39;和&39;@&39;是等价的
1.3.2 访问权限列表及权限的作用范围
表1:访问权限及说明
表2:权限作用范围(由on子句设置)
1.3.3 修改与权限无关的帐户项
1.3.4 把自已所拥用的权限转授给其他用户
前提:当前用户需要拥有WITH GRANT OPTION权限
1.3.5 限制资源使用
1.3.6 使用REVOKE撤销权限
基本语法:
示例:删除账号test从本机查询数据库db的权限
mysql > REVOKE SELECT ON db.* FROM &39;@&39;;
REVOKE可删除权限,但不能删除帐号,即使帐号已没有任何权限。所以user数据表里还会有该帐号的记录,要彻底删除帐号,需用DELETE命令删除user数据表的记录,如:
REVOKE不能删除REQUIRE和资源占用的配置。他们是要用GRANT来删除的,如: