1)确认一下3306是否对外开放,mysql默认状态下是不开放对外访问功能的
查看的办法如下:
显示结果:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
从上面可以看出,mysql的3306端口只是监听本地的连接,这样就阻碍了外部IP对该数据库的访问,修改的办法其实很简单,进入到mysql的配置文件所在目录(/etc/mysql/my.cnf)下,找到文件中的如下内容:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#将bind-address注释掉,或者改成你想要使用的客户端主机IP。
这样mysql的远程访问端口就算开启了,下面还有一个更重要的步骤,就是要给远程用户授权。
2)确认客户端用户是否具有访问权限。
为了让访问mysql的客户端的用户有访问全部权限,我们可以通过如下方式为用户进行授权:
mysql> grant all on *.* to user_name@"%" identified by "user_password";
上面的命令授予的用户权限可以访问mysql中的任意数据库(database)和表(table),%表示所有IP , all表示所有权限 , user_password是登陆数据库的密码。
GRANT ALL PRIVILEGES ON *.* TO ‘UserName’@'Domain||IP’ IDENTIFIED BY ‘Password’;
每进行一次授权,就会在mysql数据库的user表插入一条,就算同一个用户也会产生多条,因为授权不同,故对同一个帐号,授权于不同的机器,不同的使用权,进行多次的grant操作,就会产生多条user名相同的记录。
最后让授权生效的终极武器:
FLUSH PRIVILEGES;
格式:grant 权限 on 数据库名.表名 用户名@客户IP identified by "客户密码";
例如:
mysql>grant select,insert,update,delete on *.* to admin@'%' identified by '123456';
新加的用户admin,其host为%,表示任何IP都可以连接进来.
注意概念:
host = localhost 的时候,表示登陆者是本机
直接修改mysql数据库的user表也可以达到修改权限的效果,最后要flash一下
分享到:
相关推荐
需要设置才能放开权限和端口。设置步骤如下: 1、进入MySQL服务器
主要为大家详细介绍了linux下mysql开启远程访问权限,防火墙开放3306端口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
访问Mysql数据库的权限 访问Mysql数据库的权限.txt
开启外部访问mysql权限的功能
mysql 远程root权限mysql 远程root权限
上一篇文章讲解了重置 MySQL 的密码,有同学反馈无法程连接到数据库,这是因为 MySQL 安装完成后只支持 localhost 访问,我们必须设置一下才可以远程访问,另外还有一些 MySQL 8.0 连接时的一些问题,本文也会一并...
mysql开启远程访问权限和被远程访问的方法.docx
授权法,介绍远程用户连接mysql数据库,给任意远程主机授权访问mysql server的权限。
MySQL数据库设置远程访问权限方法总结.pdf
设置文件 开通防火墙端口 设置权限 让XAMPP远程连接MYSQL
开启和关闭MSsql数据库的远程访问,默认mssql是关闭远程访问的。
默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限,下面通过本文给大家分享修改mysql允许主机访问的权限的方法,感兴趣的朋友一起看看吧
mysql给root开启远程访问权限,修改root密码
docker-compose mysql5.7且支持外部访问
数据库采用MySQL进行数据存储,使用MyBatis进行数据访问。 权限控制模块设计包括用户、角色和权限三个主要模块。用户模块用于管理用户信息,角色模块用于管理角色信息,权限模块用于管理权限信息。实现对用户访问...
是否遇到过安装好MySql后,别的电脑访问不了的情况。本工具可以一键解决访烦恼了。
MySQL数据库远程访问权限打开.docx
MySQL基础知识第一期,如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访问密码,指定访问主机。 1,设置访问单个数据库...3,设置指定用户名访问权限 代码如下:mysql
默认情况下mysql是不允许远程访问的,也不支持root用户远程访问,所以要设置下 第一种方法: 权限问题,打开mysql数据库中的user表,把你用来连接数据库的用户所在那条记录的host字段改成%就行了。