3.1 下載一個mysql的鏡像:
$ docker pull mysql:5.7
3.1.1 先運行起來一個看看
$ docker run -p 6601:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
現在就可以用navicat等工具鏈接了.
3.1.1-a.png
3.1.2 增加數據文件的映
增加一個參數, 把當前路徑下的data映射到/var/lib/mysql的mysql數據文件夾。
-v $PWD/data:/var/lib/mysql
$ docker run -p 6602:3306 --name mysql2 -v $PWD/data2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
創建一個test數據庫增加與一個user_info表。查看映射的文件夾如下:
使用exec進入命令行方式
$ docker exec -it mysql2 /bin/bash
進入mysql命令行
$ mysql -u root -p
創建一個test數據庫,并創建一個user_info的表
create database test;
use test;
create table `user_info`(
`id` int(11) not null AUTO_INCREMENT,
`name` varchar(20),
primary key (`id`)
)engine=INNODB DEFAULT CHARSET=utf8;
截圖如下:
3.1.2-b.png
在本地文件夾下查看mysql的數據文件:
3.1.2-a.png
3.1.3 增加log日志的映射
增加一個參數, 把當前路徑下的logs映射到/var/log/mysql
$ docker run -p 6603:3306 --name mysql3 -v $PWD/data3:/var/lib/mysql -v $PWD/logs3:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
3.1.4 增加my.cnf的映射
添加對my.cnf的映射
$ docker run -p 6604:3306 --name mysql4 -v $PWD/my4.cnf:/etc/mysql/my.cnf -v $PWD/data4:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
my.cnf配置文件如下
[client]
port=3306
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
collation_server=utf8mb4_general_ci
lower_case_table_names=1
max_allowed_packet=200M
max_connections=500
# 開啟bin-log模式,按自己情況而定
server_id=1
log-bin=mysql-bin
binlog-format=ROW