用ip访问mysql数据库,mysql指定ip访问指定数据库

本文目录一览:

通过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、用如下的数据库连接字符串访问数据库时,是没有问题的。Driver = MySQL ODBC 5.1 Driver; Server = localhost; Port=3306; DATABASE = testdb; user = root; password = 123456。

3、其中,Server是数据库所在主机IP地址,Prot是连接端口;user和password则为连接数据库的用户名和密码,使用Select * from userinfo 可以正确获取到数据。

4、但是当把localhost换成实际的IP地址的时候,就报错了,说明这个数据库testdb是默认没开启访问权限的,默认情况下只允许localhost和127.0.0.1访问。

5、更新root账户的权限。打开mysql命令行窗口,输入grant all privileges on *.* to root@”%” identified by ‘abc’ with grant option;  flush privileges。

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只允许所在服务器本机连接,外网是无法连接的

怎么知道mysql的监听地址是多少

Linux服务器中执行如下命令可以查看: netstat -nutlp|grep mysql

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

此步骤是必须要操作的,mysql本身的用户只能在本机上连接数据库,外网连接的话,需要先添加远程用户并授权。

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

grant all on *.* to root@’%’ identified by ‘123456’;

flush privileges;

命令解释:

*.* 第一个*表示库,第二个*表示表; *.*对全部数据库的全部表授权,so.ok 表示只对so这个库中的ok表授权

root 表示要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的

‘%’ 表示允许远程连接的IP地址,%代表允许所有IP连接

只允许某个IP远程连接,可以写成’123.123.123.123′

只允许123.123.123.*这个网段远程连接,可以写成 ‘123.123.123.%’ ‘123456’ 是设置授权用户的连接密码

flush privileges; 代表立即刷新权限表,使添加的用户生效

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

怎么设置才能让外网ip可以访问mysql数据库

整体简介:

为了安全起见默认情况下Mysql数据库的监听地址是127.0.0.1,就是指本机下的程序才能访问。

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

监听地址是127.0.0.1,则代表该mysql只允许所在服务器本机连接,外网是无法连接的

所需工具原料:

Linux,apache,php,mysql

解决方法:

1. 用命令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数据库详解

一、连接远程数据库:

1、显示密码

如:MySQL

连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”

C:/mysql

-h

192.168.5.116

-P

3306

-u

root

-p123456

2、隐藏密码

如:MySQL

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

C:/mysql

-h

localhost

-u

root

-p

Enter

password:

二、配置mysql允许远程链接

默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。

一、改表法

在localhost登入mysql后,更改

“mysql”

数据库里的

“user”

表里的

“host”

项,将”localhost”改称”%”

例如:

#mysql

-u

root

-p

Enter

password:

……

mysql

mysqlupdate

user

set

host

=

‘%’

where

user

=

‘root’;

mysqlselect

host,

user

from

user;

二、授权法

例如:

你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。

mysqlGRANT

ALL

PRIVILEGES

ON

*.*

TO

‘myuser’@’%’IDENTIFIED

BY

‘mypassword’

WITH

GRANT

OPTION;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

mysqlGRANT

ALL

PRIVILEGES

ON

*.*

TO

‘myuser’@’192.168.1.3’IDENTIFIED

BY

‘mypassword’

WITH

GRANT

OPTION;

mysqlFLUSH

PRIVILEGES

使修改生效,就可以了

常见问题:

1、在采用法二授权法之后,无法在本地登录mysql(如:#mysql

-u

root

-p

-h

192.168.5.116

Enter

password:

ERROR

1045

(28000):

Access

denied

for

user

‘root’@’loadb116’

(using

password:

YES)

上例中loadb116是主机名.

解决方法:

1、这时可以使用:mysql

-u

root

-p

登录,进入到mysql后。

mysql

grant

all

privileges

on

*.*

to

‘root’@’loadb116’

identified

by

‘123456’

with

grant

option;

Query

OK,

rows

affected

(0.00

sec)

mysql

flush

privileges;

Query

OK,

rows

affected

(0.00

sec)

2、在本地使用ip地址登录

#

mysql

-u

root

-p

-h

192.168.5.116

Enter

password:

Welcome

to

the

MySQL

monitor.

Commands

end

with

;

or

/g.

Your

MySQL

connection

id

is

60

Server

version:

5.1.45

MySQL

Community

Server

(GPL)

Type

‘help;’

or

‘/h’

for

help.

Type

‘/c’

to

clear

the

buffer.

mysql

原创文章,作者:GJYWD,如若转载,请注明出处:https://www.506064.com/n/325156.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
GJYWDGJYWD
上一篇 2025-01-13 13:23
下一篇 2025-01-13 13:23

相关推荐

  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • openeuler安装数据库方案

    本文将介绍在openeuler操作系统中安装数据库的方案,并提供代码示例。 一、安装MariaDB 下面介绍如何在openeuler中安装MariaDB。 1、更新软件源 sudo…

    编程 2025-04-29
  • Centos7配置静态ip

    本文将详细阐述如何在Centos7系统中配置静态ip。 一、查看网络接口 在配置静态ip之前,我们首先需要查看系统中的网络接口,以确定我们需要配置的网卡是哪一个。 ifconfig…

    编程 2025-04-29
  • Python操作MySQL

    本文将从以下几个方面对Python操作MySQL进行详细阐述: 一、连接MySQL数据库 在使用Python操作MySQL之前,我们需要先连接MySQL数据库。在Python中,我…

    编程 2025-04-29
  • 数据库第三范式会有删除插入异常

    如果没有正确设计数据库,第三范式可能导致删除和插入异常。以下是详细解释: 一、什么是第三范式和范式理论? 范式理论是关系数据库中的一个规范化过程。第三范式是范式理论中的一种常见形式…

    编程 2025-04-29
  • MySQL递归函数的用法

    本文将从多个方面对MySQL递归函数的用法做详细的阐述,包括函数的定义、使用方法、示例及注意事项。 一、递归函数的定义 递归函数是指在函数内部调用自身的函数。MySQL提供了CRE…

    编程 2025-04-29
  • leveldb和unqlite:两个高性能的数据库存储引擎

    本文将介绍两款高性能的数据库存储引擎:leveldb和unqlite,并从多个方面对它们进行详细的阐述。 一、leveldb:轻量级的键值存储引擎 1、leveldb概述: lev…

    编程 2025-04-28
  • Python检测IP连通

    Python是一门强大的编程语言,常用于网络开发、数据分析等领域。IP地址是网络通信的基础,在网络通信中,有时需要检测IP地址是否连通。下面将从多个方面介绍Python检测IP连通…

    编程 2025-04-28
  • Python怎么导入数据库

    Python是一种高级编程语言。它具有简单、易读的语法和广泛的库,让它成为一个灵活和强大的工具。Python的数据库连接类型可以多种多样,其中包括MySQL、Oracle、Post…

    编程 2025-04-28

发表回复

登录后才能评论