1. 程式人生 > 資料庫 >【MySQL】MySQL 容器的資料初始化

【MySQL】MySQL 容器的資料初始化

# cat mysql_init.sh

################################################

#!/bin/bash

mysql_ver="5.7.27"
mysql_datadir="/opt/mysqldata"
mysql_root_pwd="MySQL@123"
registry_addr=""

docker run -itd  \
  --name mysql \
  -p 3306:3306 \
  -e UMASK=0600 \
  -e UMASK_DIR=0700 \
  -e MYSQL_HISTFILE=/dev/null \
  -v ${mysql_datadir}:/var/lib/mysql \

  -e MYSQL_ROOT_PASSWORD="${mysql_root_pwd}" \
  mysql:${mysql_ver}

sleep 30

if ss -tan | grep -w "3306" > /dev/null 2>&1; then
  docker stop mysql
  docker rm  mysql
  echo "Mysql init successfuly!"
else
  echo "Mysql init failed!"
fi
 

###################################################

 

# cat /etc/systemd/system/mysqld.service

#####################################################

[Unit]
Description=MySQL Server
After=network-online.target docker.service
Requires=docker.service

[Service]
ExecStartPre=-/usr/bin/docker rm -f mysql
ExecStart=/usr/bin/docker run \
  --name mysql \
  -p 33306:33306 \
  -e UMASK=0600 \
  -e UMASK_DIR=0700 \
  -e MYSQL_HISTFILE=/dev/null \

  -v /opt/mysqldata:/var/lib/mysql \
  -v /opt/mysqlconfig/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
  -v /etc/localtime:/etc/localtime \
  mysql:5.7.27
ExecStop=/usr/bin/docker stop mysql

LimitNOFILE=65535
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
 

#####################################################

# systemctl  deamon-load

# systemctl  start mysqld.service

# systemctl  enable mysqld.service

# systemctl  status mysqld.service