【已解决】MYSQL的IP地址在那里看?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【已解决】MYSQL的IP地址在那里看?相关的知识,希望对你有一定的参考价值。

mysql的IP地址在那里看?管理员快看啊~[]

在主机管理中的MySQL点击你要查询的Mysql的图标,进入后可以看到该数据库的详细信息主机管理中我都没有看到“Mysql的图标”啊,请问是在哪里啊?可否截个图瞅瞅,原谅一下,我菜鸟。 参考技术A 我的godaddy
空间MySQL
数据库
就是连接不上
谢谢谢谢你了
可以么
都好几天了
谢谢了数据库连接失败,可能是数据库服务器地址、账号或密码错误地址
就是那个一串啊
Database
Name
和User
Name
是一样的啊
密码试过了
饿能进入那个phpadmin
管理界面
就是不知道哪里错了
网上说填写
ip
我进入管理界面看到了ip
但是填写也不对啊
我又写了端口号3306
但是还是不对
参考技术B Host
Name:p50mysql113.secureserver.net
这个就是数据库地址

如何在 Swift iOS 中获取路由器的 IP 地址

【中文标题】如何在 Swift iOS 中获取路由器的 IP 地址【英文标题】:How to get the IP Address of Router in Swift iOS 【发布时间】:2021-08-14 19:37:23 【问题描述】:

我想从我的 iPhone 获取所连接路由器的 IP 地址。我只获取我的 iPhone 的 IP 地址。

有什么方法可以获取主机/路由器的IP地址吗?

顺便说一句,我已经查看了以下链接,但那里没有解决方案:

    How to get Ip address in swift How do I get the IP address of a local hostname in local network in Swift Swift - Get device's WIFI IP Address

我正在尝试在 Swift 5 中使用 XCode 12.4 来实现

【问题讨论】:

你需要调用外部api获取公共和路由器ip @Anbu.Karthik,你能解释一下我应该调用哪个外部 API 吗?我需要单独创建它们吗? 你应该检查***.com/questions/58503680/… 【参考方案1】:

您可以使用 sysctl 从路由表中获取默认网关的 IP 地址,但首先您应该定义所需的结构和常量,因为 Darwin.net.route<route.h> 不会暴露给 iOS SDK:

let RTAX_GATEWAY = 1
let RTAX_MAX = 8

public struct rt_metrics 
    public var rmx_locks: UInt32 /* Kernel leaves these values alone */
    public var rmx_mtu: UInt32 /* MTU for this path */
    public var rmx_hopcount: UInt32 /* max hops expected */
    public var rmx_expire: Int32 /* lifetime for route, e.g. redirect */
    public var rmx_recvpipe: UInt32 /* inbound delay-bandwidth product */
    public var rmx_sendpipe: UInt32 /* outbound delay-bandwidth product */
    public var rmx_ssthresh: UInt32 /* outbound gateway buffer limit */
    public var rmx_rtt: UInt32 /* estimated round trip time */
    public var rmx_rttvar: UInt32 /* estimated rtt variance */
    public var rmx_pksent: UInt32 /* packets sent using this route */
    public var rmx_state: UInt32 /* route state */
    public var rmx_filler: (UInt32, UInt32, UInt32) /* will be used for TCP's peer-MSS cache */


public struct rt_msghdr2 
    public var rtm_msglen: u_short /* to skip over non-understood messages */
    public var rtm_version: u_char /* future binary compatibility */
    public var rtm_type: u_char /* message type */
    public var rtm_index: u_short /* index for associated ifp */
    public var rtm_flags: Int32 /* flags, incl. kern & message, e.g. DONE */
    public var rtm_addrs: Int32 /* bitmask identifying sockaddrs in msg */
    public var rtm_refcnt: Int32 /* reference count */
    public var rtm_parentflags: Int32 /* flags of the parent route */
    public var rtm_reserved: Int32 /* reserved field set to 0 */
    public var rtm_use: Int32 /* from rtentry */
    public var rtm_inits: UInt32 /* which metrics we are initializing */
    public var rtm_rmx: rt_metrics /* metrics themselves */


public func getDefaultGateway() -> String? 
    var name: [Int32] = [
        CTL_NET,
        PF_ROUTE,
        0,
        0,
        NET_RT_DUMP2,
        0
    ]
    let nameSize = u_int(name.count)
    
    var bufferSize = 0
    sysctl(&name, nameSize, nil, &bufferSize, nil, 0)
    
    let buffer = UnsafeMutablePointer<UInt8>.allocate(capacity: bufferSize)
    defer  buffer.deallocate() 
    buffer.initialize(repeating: 0, count: bufferSize)
    
    guard sysctl(&name, nameSize, buffer, &bufferSize, nil, 0) == 0 else  return nil 
    
    // Routes
    var rt = buffer
    let end = rt.advanced(by: bufferSize)
    while rt < end 
        let msg = rt.withMemoryRebound(to: rt_msghdr2.self, capacity: 1)  $0.pointee 
        
        // Addresses
        var addr = rt.advanced(by: MemoryLayout<rt_msghdr2>.stride)
        for i in 0..<RTAX_MAX 
            if (msg.rtm_addrs & (1 << i)) != 0 && i == RTAX_GATEWAY 
                let si = addr.withMemoryRebound(to: sockaddr_in.self, capacity: 1)  $0.pointee 
                if si.sin_addr.s_addr == INADDR_ANY 
                    return "default"
                
                else 
                    return String(cString: inet_ntoa(si.sin_addr), encoding: .ascii)
                
            
            
            let sa = addr.withMemoryRebound(to: sockaddr.self, capacity: 1)  $0.pointee 
            addr = addr.advanced(by: Int(sa.sa_len))
        
        
        rt = rt.advanced(by: Int(msg.rtm_msglen))
    
    
    return nil


// How to use
if let ip = getDefaultGateway() 
    print(ip)

// Prints: 192.168.1.1


【讨论】:

如果网关是0.0.0.0,我们能否在iOS中获取连接的Access Point的IP地址? 我们尝试了这段代码,我们得到了连接的接入点的网关 IP 地址,在我的例子中是 0.0.0.0。但我们想要连接的接入点的 IP 地址而不是其网关 IP。你能帮忙吗? 如何获取 dhcp 服务器 iOS Swift 的 ip 地址? @Akshada-Systematix 我的示例展示了如何访问路由表并获取有关默认网关的信息。路由表包含所有已知的路由,例如主机、子网和默认路由,您可以通过分析其标志从列表中获取所需的路由。 FreeBSD 网关和路由 - docs.freebsd.org/en/books/handbook/advanced-networking/…

以上是关于【已解决】MYSQL的IP地址在那里看?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库的警告问题,怎么解决

EC状态已连接,虚拟IP地址未分配问题

寒假学习记录20

mac. mysql8.0死活连接不上 user表已授权%解决办法

应用程序(25.4.0)的已解决版本来自哪里? [复制]

电视上显示网络已连接就是不能看网络电视?