docker安装mysql
依赖安装
yum install -y yum-utils device-mapper-persistent-data lvm2
配置docker-ce源
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装
yum install -y docker-ce
数据文件以及配置,可根据自己的磁盘定义
mkdir -p /data/docker && mkdir -p /etc/docker/
创建配置文件
下面json中data-root的值是docker的数据目录,请根据自己需要填写相应位置
cat >> /etc/docker/daemon.json << EOF
{
"storage-driver": "overlay2",
"insecure-registries": ["registry.access.redhat.com","quay.io"],
"registry-mirrors": ["https://60699eq2.mirror.aliyuncs.com","https://registry.docker-cn.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"live-restore": true,
"log-opts": {
"max-size": "100m"
},
"data-root":"/data/docker"
}
EOF
启动docker以及开机自启动
systemctl daemon-reload && systemctl start docker && systemctl enable docker
确认docker版本
docker info
mysql8.0 安装
主机目录创建,可根据自己的磁盘定义
mkdir -p /data/mysql/conf/
创建配置文件:
cat >> /data/mysql/conf/my.cnf << EOF
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
server_id=1
default-time_zone = '+8:00'
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
#binlog-ignore-db=mysql
binlog-ignore-db=sys
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
skip-name-resolve
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES
auto_increment_offset = 2
auto_increment_increment = 2
gtid-mode=ON
enforce-gtid-consistency= on
log_replica_updates=1
log-bin=mysql-bin
binlog_format=row
lower_case_table_names = 1
skip_slave_start = 1
default_authentication_plugin = 'mysql_native_password'
max_connections=2048
tmp_table_size=512M
thread_cache_size=8
key_buffer_size=400M
read_buffer_size=32M
read_rnd_buffer_size=128M
bulk_insert_buffer_size = 512M
sort_buffer_size=4M
max_allowed_packet = 1024M
sync_binlog=1000
log_bin_trust_function_creators=1
transaction_isolation = READ-COMMITTED
group_concat_max_len = 102400
max_connect_errors = 10
table_open_cache = 4096
event_scheduler = ON
binlog_cache_size = 32M
max_heap_table_size = 256M
read_rnd_buffer_size = 64M
sort_buffer_size = 256M
join_buffer_size = 512M
thread_cache_size = 300
innodb_buffer_pool_size = 512M
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 32M
innodb_log_file_size = 1024M
innodb_log_files_in_group = 4
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
# Custom config should go here
!includedir /etc/mysql/conf.d/
EOF
服务启动
docker run --name mysql-8 --net=host \
-v /etc/localtime:/etc/localtime:ro \
-v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /data/mysql/master/mysql-files:/var/lib/mysql-files/ \
--restart=always \
-d mysql