Skip to content

Latest commit

 

History

History
99 lines (70 loc) · 1.69 KB

docker.md

File metadata and controls

99 lines (70 loc) · 1.69 KB

MySQL Docker

启动一个简单的MySQL实例

docker run \
	--name mysql \
	-p 3306:3306 \
	-e MYSQL_ROOT_PASSWORD=123456 \
	-d mysql:5.7

docker run
--name mysql-edit-pro
--restart always
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=Zcj123456
-e MYSQL_DATABASE=edit
-e MYSQL_USER=edit
-e MYSQL_PASSWORD=Zcj123456
-d mysql:8.0.11

Docker Hub https://hub.docker.com/_/mysql

MySQL Master服务器搭建(Docker)

基于镜像5.7

  1. 在用户目录创建mysql_master目录

  2. 在mysql_master目录下创建conf.ddata目录

conf.d目录用于映射到容器的conf.d目录,容器中默认的conf.d目录有三个配置文件,内容合并后如下

[mysqld]
skip-host-cache
skip-name-resolve

[mysql]

[mysqldump]
quick
quote-names
max_allowed_packet      = 16M

data目录用于映射容器的data目录

  1. 准备配置文件

在conf.d目录下新建mysql.cnf,内容如下:

[mysqld]
log-bin=bin_log_file
expire_logs_days=0
max_binlog_size=100M
binlog-format=ROW
server_id=1
skip-host-cache
skip-name-resolve

[mysql]

[mysqldump]
quick
quote-names
max_allowed_packet      = 16M

开启二进制日志的配置在mysqld下,我经常写错位置导致开启失败

  1. 启动容器
docker run \
        --name mysql_master \
        -p 3306:3306 \
        -e MYSQL_ROOT_PASSWORD=123456 \
        -v /Users/ly/mysql_master/conf.d:/etc/mysql/conf.d \
        -v /Users/ly/mysql_master/data:/var/lib/mysql \
        -d mysql:5.7
  1. 连接服务器,执行命令SHOW VARIABLES LIKE 'log%',检查结果

  2. 配置从服务器账号

GRANT replication SLAVE ON *.* TO repl@'%' IDENTIFIED BY '123';
FLUSH PRIVILEGES;