docker快速部署mysql

☆樱花仙子☆ 提交于 2021-02-10 20:51:26

[toc]

docker快速部署mysql

拉取mysql镜像

docker pull mysql:8.0 docker pull mysql:5.7 针对上面不同版本,只需要将对应的版本调整下即可

第一种 mysql

docker run -di --restart=always --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0

第二种 mysql

docker run -di --restart=always -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0

mysql安装之后

  • docker ps -a 查找到容器id
  • docker exec -it id /bin/bash 进入mysql容器
  • 针对5.7
mysql -uroot -p123456
use mysql
update user set authentication_string = 'root' where user = 'root' and host = '%';
update user set authentication_string = 'root' where user = 'root' and host = 'localhost';
alter user 'root'@'%' identified with mysql_native_password by 'root';
  • 针对8.0
mysql -uroot -p123456
use mysql
查询mysql加密方式
select host,user,plugin from user;
修改加密方式
alter user 'root'@'%' identified with mysql_native_password by 'root';

docker mysql 定时备份

参考如下:

创建 sheel文件

#!/bin/bash
docker exec -it mysql mysqldump -uroot -proot test > "/usr/local/test/mysql/backup/data_`date +%Y%m%d`.sql"
send=`date '+%Y-%m-%d %H:%M:%S'`
if [ $? -ne 0 ];
then
    # 任务失败,发送邮件
    echo "$send 任务失败,发送邮件"
    exit -1
else
    echo "$send 数据备份成功!"
fi

crontab -e 创建linux任务计划

# 每天下午16点02分执行
17 17 * * * sh /usr/local/hsmj/test_dump.sh > /usr/local/test/mysql/backup/mysql_dumps.log 2>&1

crontab -l 查询任务计划列表

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!