分类 默认分类 下的文章

起因是,mysql无法连接远程的机器,但是用python却可以。

写了这个脚本

import pymysql
import argparse

# MySQL 连接信息
host = '192.168.1.1'  # 替换为你的 MySQL 服务器 IP
user = 'ecology'         # 替换为你的 MySQL 用户名
password = 'ecology1234'  # 替换为你的 MySQL 用户密码
database = 'ecology'   # 替换为数据库名




def execute_query(query):
    try:
        # 建立连接
        connection = pymysql.connect(
            host=host,
            user=user,
            password=password,
            database=database,
            port=3306,   # MySQL 默认端口
            connect_timeout=5  # 设置超时时间
        )
        print("Connection successful!")

        # 执行查询
        with connection.cursor() as cursor:
            cursor.execute(query)
            results = cursor.fetchall()  # 获取所有结果
            columns = [desc[0] for desc in cursor.description] if cursor.description else []  # 获取列名

            print("Query executed successfully.")
            return columns, results  # 返回列名和查询结果

    except pymysql.MySQLError as e:
        print("Connection failed.")
        print(f"Error: {e}")
        return None, None

    finally:
        # 关闭连接
        if 'connection' in locals() and connection.open:
            connection.close()
            print("Connection closed.")

if __name__ == "__main__":
    # 设置命令行参数解析
    parser = argparse.ArgumentParser(description="Execute a MySQL query from command line.")
    parser.add_argument("query", type=str, help="The SQL query to execute.")
    args = parser.parse_args()

    # 从命令行参数接收 SQL 查询
    query = args.query
    columns, results = execute_query(query)

    # 打印查询结果
    if results is not None:
        # 打印列名
        print("Columns:", columns)
        # 打印每一行结果
        for row in results:
            print(row)

用法:
python testmy.py "SHOW COLUMNS FROM ws_datasource;"
python testmy.py "select * FROM weaver_sso LIMIT 100;"

https://my.f5.com/manage/s/article/K41313478
Use the following Send and Receive strings for the specific Microsoft Server versions.

2008
Send String: \x03\x00\x00\x13\x0E\xE0\x00\x00\x00\x00\x00\x01\x00\x08\x00\x03\x00\x00\x00
Receive String: \x03\x00\x00\x13\x0E\xD0\x00\x00\x12\x34\x00\x02\x09\x08\x00\x02\x00\x00\x00
2012
Send String: \x03\x00\x00\x13\x0E\xE0\x00\x00\x00\x00\x00\x01\x00\x08\x00\x03\x00\x00\x00
Receive String: \x03\x00\x00\x13\x0E\xD0\x00\x00\x12\x34\x00\x02\x07\x08\x00\x02\x00\x00\x00
2012 R2
Send String: \x03\x00\x00\x13\x0E\xE0\x00\x00\x00\x00\x00\x01\x00\x08\x00\x0b\x00\x00\x00
Receive String: \x03\x00\x00\x13\x0E\xD0\x00\x00\x12\x34\x00\x02\x09\x08\x00\x02\x00\x00\x00
2016
Send String: \x03\x00\x00\x13\x0E\xE0\x00\x00\x00\x00\x00\x01\x00\x08\x00\x0b\x00\x00\x00
Receive String: \x03\x00\x00\x13\x0e\xd0\x00\x00\x124\x00\x02\x1f\x08\x00\x08\x00\x00\x00
2019
Send String:\x03\x00\x00\x13\x0E\xE0\x00\x00\x00\x00\x00\x01\x00\x08\x00\x0b\x00\x00\x00
Receive String: \x03\x00\x00\x13\x0e\xd0\x00\x00\x12\x34\x00\x03\x00\x08\x00\x02\x00\x00\x00 
2022
Send String: \x03\x00\x00\x13\x0E\xE0\x00\x00\x00\x00\x00\x01\x00\x08\x00\x0b\x00\x00\x00
Receive String: \x03\x00\x00\x13\x0e\xd0\x00\x00\x124\x00\x02\x1f\x08\x00\x08\x00\x00\x00

第一款是三星的Samsung SGH-X600,型号早就忘了,根据记忆找到的。
这个是上大学的时候,充话费的活动,可能是送的,也可以是便宜买的。
还记得是中国电信的
SGH-X600.jpg

第二个就是工作之后了。好像是换了个MOTO E375。还是我弟弟赚的钱买给我的。
MOTO-E375.jpg

再后来,在济南买了个Palm的手机,自己的操作系统。好像挺厉害的。也挺好看。
型号是叫Palm Pre
Palm-Pre.jpg

2011年12月05日,买了个小米手机1,算是很早的小米用户了吧。
小米手机1.jpg

2012年7月,没多久,打车给丢了。丢到车上,司机不承认。
又买了个小米。忠实的小米用户。但是这时候价格降了不少。
小米手机1-2.jpg

2013年,买过一个三星的NOTE2。屏幕确实是好。第一次用这么大屏幕的大屏手机。
还带个手写笔。
NOTE2.jpg

2014年,短暂的用过一段时间 魅族MX3。

2014年,10月份,就换成了LG G3( D857)
LG-G3.jpg

2015年11月,第一次用荣耀7,这个手机是当时第一款,双卡双待双通的手机。
金属外壳。就是稍微厚了点。
荣耀7.jpg

2017年10月,用上了华为P10,又是打车,给丢到后座了。报警, 没任何后续。
P10.jpg

紧跟着买了Mate 9。
Mate 9.jpg

再后来就一直用华为手机,直到现在。期间换过的型号不计其数。
Mate9,P10,P30,Mate20,Mate RS,Mate 50。。。