Docker学习笔记之 三、常用镜像 - mysql

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容