使用ip访问mysql数据库,mysql会提供访问指定数据库的ip
文章目录:
- 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前端网发表,如需转载,请注明页面地址。
code前端网
