2.mysql上云

#mysql #docker

docker基本使用

由于国内ban掉了docker hub,所以需要先修改docker的镜像源
基本的docker 命令:

run Create and run a new container from an image
exec Execute a command in a running container
ps List containers
build Build an image from a Dockerfile
pull Download an image from a registry
push Upload an image to a registry
images List images
login Authenticate to a registry
logout Log out from a registry
search Search Docker Hub for images
version Show the Docker version information
info Display system-wide information

基本的使用:
docker pull -> docker run [image] -args -> docker container (监控运行时的容器信息)

配置mysql在docker上运行的命令

case:1基本命令

docker run --name some-mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

case:2持久化存储和自动重启

为了让MySQL的数据在宿主机上得以持久化,即使容器停运或删除,通过使用数据卷挂载来实现这一目标

docker run --name some-mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /path/to/mysql/data:/var/lib/mysql -d mysql

这里 -v /path/to/mysql/data:/var/lib/mysql 表示将宿主机的 /path/to/mysql/data 目录挂载到容器的 /var/lib/mysql 目录,这是MySQL的默认数据存储位置。

case:3设置远程访问权限

这里建议新建一个专门用于远程访问的用户控制访问权限,防止被勒索。

CREATE DATABASE "authorize";
CREATE USER 'verify_user'@'%' IDENTIFIED BY 'TempPass123!';  
GRANT SELECT ON authorize.* TO 'verify_user'@'%';  
FLUSH PRIVILEGES;

解释:

参考文献

1.如何在Docker容器中配置MySQL并允许宿主机访问数据库
2.在MySQL中创建用户并赋予远程登录权限