目录
一、配置docker环境
1. 阿里云镜像站配置docker环境
1. 安装必要的一些系统工具
编辑
2. 添加软件源信息
编辑
3. 修改 Docker 的 YUM 仓库配置文件,将 Docker 官方仓库的地址替换为阿里云的镜像源,以提高下载速度。
4. 更新并安装Docker-CE
编辑
5. 开启Docker服务
6. 检验安装
二 、搭建mysql环境
1. 指定的镜像仓库拉取镜像
编辑
2. 查看镜像
3. 运行容器
编辑
4. 查看是否启动成功
5. 进入到数据库 进行授权
6. 创建和查看库
7. 创建用户并授权
8. 创建表并查看表结构
三、外部连接数据库插入数据
1. 使用Visual Studio Code 新建python文件
编辑
2. 打开终端安装插件
2.安装 cryptography 包
3. 运行python文件
4. 查看数据库数据变化
5. 再次执行python文件查看数据库数据变化
一、配置docker环境
1. 阿里云镜像站配置docker环境
阿里云镜像站地址: https://developer.aliyun.com/mirror/
1. 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2. 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 修改 Docker 的 YUM 仓库配置文件,将 Docker 官方仓库的地址替换为阿里云的镜像源,以提高下载速度。
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
4. 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
5. 开启Docker服务
sudo service docker start
6. 检验安装
docker version
二 、搭建mysql环境
国内镜像地址:OpenAtom Foundation - 开放原子开源基金会
1. 指定的镜像仓库拉取镜像
docker pull hub.atomgit.com/amd64/mysql:5.7.43
2. 查看镜像
docker images
3. 运行容器
docker run -itd --name database -p 3306:3306 -e MYSQL_ROOT_PASSWORD='wyk@123' hub.atomgit.com/amd64/mysql
- -itd:-i 代表交互式模式,-t 分配伪终端,-d 表示后台运行。
- --name database:给容器指定一个名称 database。
- -p 3306:3306:将主机的 3306 端口映射到容器的 3306 端口。
- -e MYSQL_ROOT_PASSWORD='wyk@123':设置环境变量 MYSQL_ROOT_PASSWORD,用来初始化 MySQL 的 root 用户密码。
- hub.atomgit.com/amd64/mysql:指定要使用的 Docker 镜像。
4. 查看是否启动成功
docker ps -a
5. 进入到数据库 进行授权
docker exec -it database bash
mysql -uroot -p'wyk@123'
6. 创建和查看库
create database pymysql_database;
show databases;
7. 创建用户并授权
create user 'py'@'%' identified by 'wyk@123';
grant all privileges on pymysql_database.* to 'py'@'%';
使所有权限表的更改生效,而不需要重启 MySQL 服务
FLUSH PRIVILEGES;
8. 创建表并查看表结构
CREATE TABLE `users` (
-> `id` int(11) NOT NULL AUTO_INCREMENT,
-> `email` varchar(255) COLLATE utf8_bin NOT NULL,
-> `password` varchar(255) COLLATE utf8_bin NOT NULL,
-> PRIMARY KEY (`id`)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREME NT=1;
desc users;
三、外部连接数据库插入数据
1. 使用Visual Studio Code 新建python文件
文件内容
import pymysql
# 数据库连接配置
connection = pymysql.connect(host='192.168.200.10',
user='py',
password='wyk@123',
database='pymysql_database',
cursorclass=pymysql.cursors.DictCursor)
try:
with connection.cursor() as cursor:
# 使用占位符来避免 SQL 注入问题
sql = "INSERT INTO users (email, password) VALUES (%s, %s)"
cursor.execute(sql, ('webmaster@python.org', 'very-secret'))
connection.commit()
finally:
connection.close()
内容注释
1. 导入 pymysql 模块
import pymysql
这一行代码导入了 pymysql 模块,这个模块用于连接和操作 MySQL 数据库。2. 配置数据库连接
connection = pymysql.connect(
host='192.168.200.10',
user='py',
password='wyk@123',
database='pymysql_database',
cursorclass=pymysql.cursors.DictCursor
)
这一部分代码用于配置并建立与 MySQL 数据库的连接。各参数的含义如下:host:数据库服务器的 IP 地址或主机名。'192.168.200.10' 是示例中的 IP 地址。
user:连接数据库的用户名。这里是 'py'。
password:连接数据库的密码。这里是 'wyk@123'。
database:要连接的数据库名称。这里是 'pymysql_database'。
cursorclass:指定游标类型。pymysql.cursors.DictCursor 表示游标会将查询结果作为字典返回,而不是元组。
3. 执行数据库操作
try:
with connection.cursor() as cursor:
# 使用占位符来避免 SQL 注入问题
sql = "INSERT INTO users (email, password) VALUES (%s, %s)"
cursor.execute(sql, ('webmaster@python.org', 'very-secret'))
connection.commit()
finally:
connection.close()
try 块
with connection.cursor() as cursor::使用上下文管理器(with 语句)来获取一个数据库游标。游标用于执行 SQL 语句并获取结果。
sql = "INSERT INTO users (email, password) VALUES (%s, %s)":定义一个 SQL 插入语句,其中 %s 是占位符,用于后续替换实际的值。这种做法可以防止 SQL 注入攻击。
cursor.execute(sql, ('webmaster@python.org', 'very-secret')):执行 SQL 语句,将实际的值传递给占位符,插入一条记录到 users 表中。
connection.commit():提交事务,保存对数据库的修改。如果没有调用 commit(),插入操作不会被实际执行。
finally 块
connection.close():确保在数据库操作完成后,关闭数据库连接。即使在执行 SQL 语句过程中发生错误,finally 块中的代码也会被执行,从而关闭连接,避免资源泄露。
2. 打开终端安装插件
1. 安装pymysql模块
pip3 install pymysql
2.安装 cryptography 包
pip3 install cryptography
3. 运行python文件
4. 查看数据库数据变化
select * from users;