Docker下安装MySQL,普通安装方式和docker-compose方式安装
方式一
- 搜索MySQL镜像
docker search mysql
- 拉取镜像
docker pull mysql:5.7
- 运行
docker run -d -p 3306:3306 mysql:5.7
上面这种方式简单,但是没有对mysql做配置,虽然也可以在命令后面加参数,但是写起来比较麻烦。推荐下面的dcoker-compose.yml方式(需安装docker-compose)。
方式二
- 创建目录
mkdir /usr/local/mysql
- 进入mysql目录
cd /usr/local/mysql
- 在mysql目录下创建docker-compose.yml文件,内容如下
version: '3.1'
services:
mysql:
image: mysql:5.7
container_name: mysql57
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: "123456"
MYSQL_USER: 'root'
MYSQL_PASS: '123456'
volumes:
- ./data:/var/lib/mysql
- ./conf/my.cnf:/etc/my.cnf
restart: always
network_mode: "bridge"
其中
network_mode
:为容器的网络模式。
MYSQL_ROOT_PASSWORD
:为数据库的密码,也就是root用户的密。
MYSQL_USER
和MYSQL_PASS
:代表用户名和密码。
image
:为你拉取镜像的地址和版本,当然也可以换成自己的镜像仓库,这里使用官方的。
volumes
:里面的参数为映射本地和docker容器里面的文件夹和目录。
ports
:为映射端口。
- 创建存放数据的文件夹data
mkdir /usr/local/mysql/data
- 创建存放配置的的文件夹conf
mkdir /usr/local/mysql/conf
- 创建配置文件
cd /usr/local/mysql/conf
vi my.cnf
内容如下:
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
- 启动
docker-compose up -d
- navicat测试连接
- 如果需要停掉mysql
docker-compose down