目标: docker安装mysql
要求: 1.数据库文件存储在宿主机. 2. 配置文件在宿主机,方便随时修改.
特点: 不侵入容器内部,随时使用官方镜像创建新的容器,方便配置主备(读写分离模式)
1.配置文件复制到位置:
/opt/docker/mysql/my.cnf
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /data
expire_logs_days = 10
max_binlog_size = 100M
#主从配置
server-id = 1 #server的唯一标识
datadir = /data/data
auto_increment_offset = 1 #自增id起始值
auto_increment_increment = 2 #每次自增数字
#read_only=on #从库只读,只限制非root账户
#super_read_only=on #超级管理员也只读
log-bin = mysql-bin #打开二进制功能,MASTER主服务器必须打开此项
max_binlog_size=1024M #binlog单文件最大值
#slave-skip-errors=1062,1053,1146 #跳过指定error no类型的错误
slave-skip-errors=all
#binlog_do_db = include_database_name #需要同步的库名,不写就是全部同步
binlog-ignore-db = mysql,information_schema,performance_schema #忽略写入binlog日志的库
#replicate-ignore-db = mysql #忽略不同步主从的数据库
#replicate-ignore-db = information_schema
#replicate-ignore-db = performance_schema
2.运行
sudo docker run -d -p 3306:3306 --privileged=true -v /opt/docker/mysql/my.cnf:/etc/mysql/my.cnf -v /opt/docker/mysql/data/:/data --name mysql -e "TZ=Asia/Shanghai" -e MYSQL_ROOT_PASSWORD=newp@ssword mysql:5.7