1. 使用 Docker 安装 MySQL 数据库
1.1 拉取 MySQL 镜像
首先,从 Docker Hub 上拉取 MySQL 官方镜像。你可以根据需求选择不同的版本,这里以 MySQL 8.0 为例:
收起
bash
docker pull mysql:8.0
1.2 运行 MySQL 容器
使用以下命令运行 MySQL 容器,并进行相关配置:
收起
bash
docker run -d \
--name mysql-container \
-e MYSQL_ROOT_PASSWORD=your_password \
-p 3306:3306 \
-v /your/host/path:/var/lib/mysql \
mysql:8.0
参数解释:
-d
:让容器在后台运行。--name mysql-container
:为容器指定名称,方便后续管理。-e MYSQL_ROOT_PASSWORD=your_password
:设置 MySQL 的 root 用户密码。-p 3306:3306
:将宿主机的 3306 端口映射到容器内的 3306 端口,以便外部可以访问 MySQL 服务。-v /your/host/path:/var/lib/mysql
:将宿主机的指定目录挂载到容器内的 MySQL 数据存储目录,实现数据持久化。
2. 连接到 MySQL 数据库
使用以下命令进入 MySQL 容器的命令行界面:
收起
bash
docker exec -it mysql-container mysql -uroot -p
然后输入之前设置的 root 密码,即可进入 MySQL 的命令行客户端。
3. 数据库的增删改查操作
3.1 创建数据库
收起
sql
CREATE DATABASE mydatabase;
该命令用于创建一个名为 mydatabase
的数据库。
3.2 使用数据库
收起
sql
USE mydatabase;
此命令用于切换到 mydatabase
数据库,后续的操作将在该数据库中进行。
3.3 创建表
收起
sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
age INT
);
该命令创建了一个名为 users
的表,包含 id
(自增主键)、name
(字符串类型)和 age
(整数类型)三个字段。
3.4 插入数据(增)
收起
sql
INSERT INTO users (name, age) VALUES ('John', 25);
此命令向 users
表中插入一条记录,name
为 John
,age
为 25。
3.5 查询数据(查)
收起
sql
SELECT * FROM users;
该命令用于查询 users
表中的所有记录。
3.6 更新数据(改)
收起
sql
UPDATE users SET age = 26 WHERE name = 'John';
此命令将 users
表中 name
为 John
的记录的 age
字段更新为 26。
3.7 删除数据(删)
收起
sql
DELETE FROM users WHERE name = 'John';
该命令将 users
表中 name
为 John
的记录删除。
4. 数据库备份
4.1 本地备份
使用 mysqldump
工具可以对 MySQL 数据库进行备份。在宿主机上执行以下命令:
收起
bash
docker exec mysql-container mysqldump -uroot -pyour_password mydatabase > /your/host/path/mydatabase_backup.sql
该命令将 mydatabase
数据库备份到宿主机的指定文件中。
4.2 异地备份
若要将备份文件传输到其他服务器,可以使用 scp
命令(前提是已经配置好 SSH 密钥认证或可以输入目标服务器的密码)。假设目标服务器的 IP 地址为 192.168.1.100
,用户名为 user
,执行以下命令:
收起
bash
scp /your/host/path/mydatabase_backup.sql user@192.168.1.100:/remote/path/
此命令将本地的备份文件传输到目标服务器的指定路径下。
5. 恢复数据库
如果需要恢复数据库,可以使用以下命令:
收起
bash
docker exec -i mysql-container mysql -uroot -pyour_password mydatabase < /your/host/path/mydatabase_backup.sql
该命令将备份文件中的数据恢复到 mydatabase
数据库中