默认情况下,MySQL只允许本地登录,即只能在安装MySQL环境所在的主机下访问。
但是在日常开发和使用中,我们经常需要访问远端服务器的数据库,此时就需要开启服务器端MySQL的远程连接权限。
1、生成环境,连接MySQL
2、查看MySQL当前访问远程访问权限
use mysql;
select User,authentication_string,Host from user;
当前root用户,host为只允许本机登录
3、开启远程访问
开启远程访问权限的方式,主要包括两种:改表法和授权法
方式一:改表法
顾名思义,该方法就是直接修改更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改为"%"
update user set host='%' where user='root';
方式二:授权法 通过GRANT命令可以授予主机远程访问权限
--赋予任何主机访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
--允许指定主机(IP地址)访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'root' WITH GRANT OPTION;
通过GRANT命令赋权后,需要通过FLUSH PRIVILEGES刷新权限表使修改生效:
flush privileges;
4.再次查看MySQL远程访问权限配置
select User,authentication_string,Host from user;
如此便可远程访问MySQL数据库