step one
使用 WSL 在 Windows 上安装 Linux
wsl官方文档
在管理员模式下打开 PowerShell
windows上安装wsl
wsl --install查看哪些是可用的
wsl --list --online
C:\Windows\System32\drivers\hosts
docker-desktop下载官网:Install Docker Desktop on Windows | Docker Docs
该官网还显示了版本要求。
cmd -> winver查看本地版本。本人使用的为23H2
docker pull mysql
docker run --name mysqllatest --restart=always -p 5006:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
docker exec -ti xxx sh
python 验证MySQL是否已经启动
import pymysqldef connect():
# 连接 MySQL 数据库conn = pymysql.connect(host='127.0.0.1', # 主机名port=5006, # 端口号,MySQL默认为3306user='root', # 用户名password='123456', # 密码)return conndef show_databases(conn):# 列出所有数据库cursor = conn.cursor()cursor.execute("SHOW DATABASES;")databases = cursor.fetchall()cursor.close()return [db[0] for db in databases]def show_tables(conn, database):# 列出指定数据库中的所有表cursor = conn.cursor()conn.select_db(database)cursor.execute("SHOW TABLES;")tables = cursor.fetchall()cursor.close()return [table[0] for table in tables]def query_table(conn, database, table):# 查询指定数据库中的表的数据cursor = conn.cursor()conn.select_db(database)# 这里我们简单地查询所有行,但在实际应用中,你可能需要更具体的查询cursor.execute(f"SELECT * FROM {table};")rows = cursor.fetchall()column_names = [i[0] for i in cursor.description]cursor.close()return column_names, rowsif __name__ == '__main__':conn = connect()databases = show_databases(conn)print("Databases:", databases)index = 0for i in range(len(databases)):if "mysql" in databases[i]:index = idatabase_name = databases[index]tables = show_tables(conn, database_name)print(f"Tables in {database_name}:", tables)conn.close()
参考文档:
https://blog.csdn.net/hsh241817/article/details/135685763