Code前端首页关于Code前端联系我们

使用ip访问mysql数据库,mysql会提供访问指定数据库的ip

terry 2年前 (2023-09-30) 阅读数 38 #Mysql
文章标签 Mysql

文章目录:

  • 1、通过IP访问mysql数据库。是否可以?
  • 2、连接mysql时使用的IP地址是本地电脑的IP地址吗?
  • 3、如何配置外网IP到达mysql数据库?
  • 4、如何配置外网IP访问mysql数据库?
  • 5、远程访问MySQL数据库详解

是否可以通过IP访问mysql数据库?

使用命令远程连接mysql数据库(前提是启用mysql用户名和登录网段)

mysql -u 用户名 -p 密码 -h 数据库IP

连接mysql使用的IP地址 这是上的IP地址你的电脑吗?

如果您是 root 用户,则 IP 为 localhost 或 127.0.0.1。它仅指示机器的使用情况,而不指示本地IP地址。程序如下:

1。首先,使用 Navicat 创建数据库和表。数据库名称对于testdb,表是userinfo并添加一条新记录。

2。使用下面的数据库连接字符串访问数据库没有问题。驱动程序 = MySQL ODBC 5.1 驱动程序;服务器=本地主机;端口=3306;数据库=bodydb;用户=根;密码=123456。

3。其中Server为数据库所在主机的IP地址,Prot为连接端口;用户和密码是连接数据库所需的用户名和密码。要正确获取数据,请使用 Select * from user data。

4。但是当localhost替换为实际IP地址时,会出现错误提示,默认未开启testdb数据库访问权限。默认情况下,仅允许 localhost 和 127.0.0.1 访问。

5。更新root帐户的权限。打开 mysql 命令窗口并输入 grant allprivilege to *.* to root@"%" said by 'abc' with grant option;冲洗特权。

6. 创建一个新帐户(例如 guest)并输入可用主机作为 %,这意味着所有主机都可以访问该帐户。测试了一下,没有问题。

如何配置外网IP访问mysql数据库?

1。首先检查mysql所在服务器的防火墙。如果外网连接被限制为3306端口,解除限制

在Linux服务器上执行

iptables -L即可查看当前防火墙规则

iptables -F可以清除所有防火墙规则

2。确保mysql监听地址为0.0.0.0

监听地址为0.0.0.0,表示mysql允许所有IP地址连接,这是允许远程连接的基础

监听地址127.0.0.1,意思是mysql只允许本地连接服务器,无法连接外网:netstat -nutlp|grep mysql

3。添加远程连接mysql的账号

这一步是必须的。 mysql本身的用户只能连接本机上的数据库。如果要连接外网,需要先添加远程账户。用户和授权。

在mysql命令行模式下或者在phpmyadmin中执行sql语句添加远程连接用户

将*.*上的所有内容放到'123456'标识的root@'%';

flush权限;

命令说明:

*.* 第一个*表示目录,第二个*表示表; *.* 允许所有数据库中的所有表,so.ok 只允许so 目录下的ok 表

root 表示允许哪个用户。该用户可能是现有用户,也可能不存在。

'%'代表允许远程连接的IP地址。 % 表示允许所有IP 连接。

仅允许某些用户。对于远程 IP 连接,“123.123.123.123”

只有 123.123.123.* 网段可以远程连接,您可以输入“123.123.123.%”。 ‘123456’为具有

flush权限的授权用户设置连接密码;意思是立即更新权限表,使添加的用户生效

设置完以上三步后,就可以再次尝试远程连接mysql了。

如何设置外网IP访问mysql数据库

总结:

出于安全考虑,Mysql数据库的监控地址默认是127.0.0.1,也就是说只能访问本机的程序。

监听地址为0.0.0.0,表示mysql允许所有IP地址连接,这是允许远程连接的基础。

监听地址为127.0.0.1,也就是说mysql只允许服务器本地连接和外部连接。网络无法连接。使用 vi 命令编辑 /etc/mysql/my.cnf 文件,如下所示:

将以下行添加到 [mysqld] 部分:

2。 bind-address=0.0.0.0 #所有​​地址或指定IP地址如图

3。重新启动服务

service mysqld restart

4。在Linux服务器上运行以下命令,检查netstat -nutlp|grep mysql(仅检查mysql监控)、netstat -tln(检查所有监控)是否成功。

远程访问MySQL数据库详解

? ? :MySQL

连接本地数据库,用户名为“root”,

C:/mysql

-h

localhost

-u

输入并

密码:

2。设置mysql允许远程连接

Mysql账号默认不允许远程登录,只能在localhost登录。本文提供了两种设置mysql通过远程主机连接的方法。

1。表修改方法

在localhost登录mysql后,将表

“user”中的值

“mysql”

更改为“

”“name”localhost”到“%”

例如:

#mysql

-u

root

-p

输入

密码:

…te…

dql user

set

host

=

'%'

where

user

=

'root';

'root';MysqlSelect从用户使用

mysqlGRANT

ALL

CLIP

ON

*.*

TO

'myuser'@'%

'身份

GRANT

WITH OPTION;

如果要允许用户 myuser 从主机 IP 地址 192.168.1.6 连接到 mysql 服务器并使用 mypassword 作为密码

mysqlGRANT

mysqlGRANT

ON

*.*

TO

'用户'@'192.168.1.3'已识别

BY

GR!!WI选项;

mysqlFLUSH

PRIVILEGE

启用修改即可完成

FAQ:

1。使用第二种授权方式后,本地无法登录mysql(例如:#mysql

- u

root

-p

-h

192.168.5.116。密码:

ERROR

1045

(28000):

Access

denied

for

load user

password :

YES)

在上面的示例中,loadb116 是主机名称。

解决方案:

1。目前可以使用mysql

-u

ro -p

登录并进入mysql。

mysql

允许

所有

权限

ro

*。由“loadb116”识别

'123456'

支持

选项;

查询

OK,

受影响

0 mysql

冲洗

权限;

查询

OK,

行数

受影响

(0.00

2秒)

2本地登录到

#

mysql

-u

root

-p

-h

-h

-h

-h

-pass❙s❙s192 .168.5 使用 .字:

欢迎

a

MySQL

监视器。

命令

结束

或;

您的

MySQL

连接

id是

60

服务器

版本:

5.1.45

5.1.45MySQL。

(gpl)type

'help;'o o o'/h'

write'/c'

''

缓冲区。

mysql

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门