docker 安装mysql 开启binlog 每天备份数据

1、安装docker

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum install -y docker-ce-19.03.4

给docker 配置

`usermod -G docker root`
systemctl  enable  docker.service
systemctl start docker.service

touch /etc/docker/daemon.json

 echo -e "
 {
   \"registry-mirrors\": [\"http://harbor.eslink.net.cn\"],
   \"insecure-registries\": [\"harbor.eslink.net.cn\",\"registry.cn-shenzhen.aliyuncs.com\"],
   \"max-concurrent-downloads\": 10,
   \"log-driver\": \"json-file\",
   \"log-opts\": {\"max-size\":\"300m\",\"max-file\":\"1\"} 

 } " >>/etc/docker/daemon.json


systemctl daemon-reload
systemctl restart docker.service

2、安装mysql

删除自带的mysql

service mysql stop
EXISTS_RPMS=`rpm -qa | grep -i mysql`
echo ${EXISTS_RPMS}
for RPM in ${EXISTS_RPMS}
do
        rpm -e --nodeps ${RPM}
done

删除残留文件

rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
rm -rf /etc/my.cnf
rm -fr /var/lib/mysql

拉取镜像

docker pull mysql:5.7
docker images
mkdir /etc/mysql
cd /etc/mysql
vim mysql.cnf

填入
------------------------------------------------
[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
datadir         = /var/lib/mysql

server-id              = 100
log_bin                = /var/log/mysql/mysql-bin
binlog-format          = ROW
expire_logs_days        = 7
max_binlog_size         = 500M

character-set-server = utf8
collation-server = utf8_general_ci



[client]
default-character-set=utf8

[mysqldump]
quick
quote-names
max_allowed_packet      = 1024M

---------------------------------------------





mkdir mysql.conf.d
cd mysql.conf.d 
vim mysqld.cnf
填入
--------------------------------
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

#
# The MySQL  Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
#log-error      = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address   = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
server-id              = 1000
log_bin                = /var/log/mysql/mysql-bin
binlog-format          = ROW
expire_logs_days        = 7
max_binlog_size         = 500M
-------------------------------------------------

创建容器

把容器里的目录挂在在linux 的目录下
docker run -d --name mysql -p 3306:3306 --privileged=true  -e MYSQL_ROOT_PASSWORD=123456 -v /etc/mysql:/etc/mysql/mysql.conf.d -v /home/mysql/data:/var/lib/mysql -v /home/mysql/log:/var/log/mysql mysql:5.7

docker ps -a

会看到失败
cd /home/mysql

修改log文件夹的用户和data相同

rm -rf /home/mysql/data/*
rm -rf /home/mysql/log/*
docker rm -f mysql

重新创建
docker run -d --name mysql -p 3306:3306 --privileged=true  -e MYSQL_ROOT_PASSWORD=123456 -v /etc/mysql:/etc/mysql/mysql.conf.d -v /home/mysql/data:/var/lib/mysql -v /home/mysql/log:/var/log/mysql mysql:5.7

docker ps
会看到成功了。


数据备份

1、shell 命令执行或者shell脚本
docker exec -ti mysql mysqldump -uroot -p123456 -A > /home/mysql/mysql`date +%Y%m%d`.sql
2、crontab 调用shell 命令执行或者shell脚本  取消- ti
docker exec -ti mysql mysqldump -uroot -p123456 -A > /home/mysql/mysql`date +%Y%m%d`.sql
发布了48 篇原创文章 · 获赞 5 · 访问量 1163

猜你喜欢

转载自blog.csdn.net/qq_34897849/article/details/103710651
今日推荐