#!/bin/bash # 本脚本用于修改mysql安装配置文件信息 echo -e "\033[33m --------------- -----SZHFY----- ----GB28181---- --------------- \033[0m"; echo -e "\033[33m 欢迎使用深圳合方圆科技一键部署国标平台安装程序 \033[0m"; # 读取配置文件 source ./config.cfg #检查是否启用docker安装 enable_sql 为1时启用 为0时不启用 if("$enable_sql" == "1");then # 导入mysql镜像 docker load -i ./result/hfysql.tar # 检查容器是否已经启动,如果已经启动则尝试导出数据库 docker ps -a | grep hfysql if [ $? -eq 0 ]; then # 导出数据库 docker exec -it hfysql mysqldump -uroot -p$mysqlPasswd --all-databases > /data/mysql/hfysqlSave.sql # 停止容器 docker stop hfysql # 删除容器 docker rm hfysql fi # 为mysql添加用户,并且授权数据库给该用户 docker exec -it mysql mysql -uroot -p$mysqlPasswd -e "CREATE USER '$mysqlUser'@'%' IDENTIFIED BY '$mysqlPasswd';GRANT ALL PRIVILEGES ON *.* TO '$mysqlUser'@'%';FLUSH PRIVILEGES;" # 启动mysql容器 docker run -d --name hfysql \ -p "$mysql_port":3306 \ -v /data/mysql:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD="$mysqlPasswd" \ -e MYSQL_DATABASE="$mysqlDatabase" \ -e MYSQL_USER="root" \ -e MYSQL_ROOT_PASSWORD="hfy$mysqlPasswd" \ hfysql:latest if [ $? -ne 0 ]; then echo "run mysql docker failed"; fi fi # 检查是否启用redis安装 enable_redis 为1时启用 为0时不启用 if("enable_redis" == "1");then # 修改配置redis配置文件 sed -i \ -e "s/^port .*$/port $redis_port/g" \ -e "s/^requirepass .*$/requirepass $redis_passwd/g" \ $SCRIPT_DIR"/redis.conf"; # 导入redis镜像 docker load -i ./result/hfyredis.tar # 检查容器是否已经启动,如果已经启动则关闭并且删除容器 docker ps -a | grep hfyredis if [ $? -eq 0 ]; then # 停止容器 docker stop hfyredis # 删除容器 docker rm hfyredis fi # 启动redis容器 host 模式启动,端口映射到宿主机 docker run -it -p "$redisPort":"$redisPort" \ -v /data/redis:/data/redis \ -v /data/redis/logs:/data/redis/logs \ --name hfy_redis -itd hfyredis:latest fi