在开始之前,请确保: 1. 已安装Docker和Docker Compose 2. 系统有足够的资源(建议至少2GB内存) 3. 已配置好防火墙规则(如果需要外部访问)
docker run --name mysql-server \
-e MYSQL_ROOT_PASSWORD=yourpassword \
-p 3306:3306 \
-v /path/to/mysql/data:/var/lib/mysql \
-d mysql:latest
参数说明:
- --name
: 容器名称
- -e MYSQL_ROOT_PASSWORD
: 设置root用户密码
- -p 3306:3306
: 端口映射(主机端口:容器端口)
- -v
: 数据卷挂载,持久化数据
- -d
: 后台运行
docker-compose.yml
文件:version: '3.8'
services:
mysql:
image: mysql:latest
container_name: mysql-server
environment:
MYSQL_ROOT_PASSWORD: yourpassword
MYSQL_DATABASE: mydatabase
MYSQL_USER: myuser
MYSQL_PASSWORD: mypassword
ports:
- "3306:3306"
volumes:
- /path/to/mysql/data:/var/lib/mysql
- /path/to/mysql/conf:/etc/mysql/conf.d
restart: unless-stopped
docker-compose up -d
mkdir -p /path/to/mysql/conf
my-custom.cnf
:[mysqld]
max_connections = 1000
innodb_buffer_pool_size = 1G
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
-v /path/to/mysql/conf:/etc/mysql/conf.d
在环境变量中添加:
environment:
TZ: Asia/Shanghai
deploy:
resources:
limits:
memory: 2G
image: mysql:8.0
docker ps
docker logs mysql-server
docker exec -it mysql-server mysql -uroot -p
docker stop mysql-server
docker start mysql-server
docker rm mysql-server
docker exec mysql-server sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > backup.sql
cat backup.sql | docker exec -i mysql-server sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"'
通过以上步骤,您可以在Linux系统上快速、安全地部署MySQL容器服务。