提醒
本篇仅针对 Docker 方式如何进行 MySQL 环境搭建示例说明,不建议作为生产方案使用 !!!
创建目录
提示
这一步可以不用创建,容器启动时,指定挂载目录会自动创建,这里只是为了示例说明目录用途。
创建 MySQL 数据目录
sh
mkdir -p /home/mysql/data/mysql
创建 MySQL 日志目录
sh
mkdir -p /home/mysql/logs
配置文件
1. 创建配置目录
sh
mkdir -p /home/mysql/conf
2. 添加配置文件
通过 touch
命令在如上配置目录 /home/mysql/conf/
下创建 my.cnf
文件。
sh
touch /home/mysql/conf/my.cnf
3. 修改配置
借助 vim
工具,输入如下命令,查看 my.cnf
文件,输入 i
进入 insert
模式。
sh
vim /home/mysql/conf/my.cnf
参考如下配置,拷贝至编辑窗口,esc
退出 insert
模式,输入:wq
保存退出。
更多属性配置,请参考:
https://dev.mysql.com/doc/mysql/en/server-system-variables.html
sh
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
启动容器
说明
- --name 启动容器名称
- --restart=always 容器退出时始终自动重启
- -p 端口映射
- -v 目录挂载
- -e 变量传入
sh
docker run -d --name mysql --restart=always -p 3306:3306 \
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /home/mysql/logs:/logs \
-v /home/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=password mysql
查看容器
查看运行中的容器。
sh
docker ps -a
打印如下,说明容器启动成功。
shell
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
979dc7d06adf mysql "docker-entrypoint.s…" 20 seconds ago Up 5 seconds 0.0.0.0:3306->3306/tcp mysql
进入容器
sh
docker exec -it mysql /bin/bash
连接 MySQL
连接 MySQL
数据库就可以进行操作了。
shell
mysql -uroot -p