docker运行mysql
1、访问docker hub
访问docker hub,搜索mysql。确定版本 一般5.x(行内流行版本)
2、下载镜像
docker pull mysql:5.6
3、运行mysql
启动MySQL,开放映射端口(3306),指定root密码才行 -e (environment环境)
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
启动MySQL,开放映射端口(3306),指定用户密码 -e MYSQL_ROOT_PASSWORD= ,后台运行 -d ,指定名称 --name
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d --name mysql01 mysql:5.6
启动MySQL,开放端口映射(3306),指定用户密码 -e MYSQL_ROOT_PASSWORD= ,后台运行 -d ,指定名称 --name 总是运行 --restart = always 。不论docker引擎如何重启,只要docker启动,MySQL容器就会启动
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d --name mysql01 --restart=always mysql:5.6
设置数据卷
启动MySQL,开放端口映射(3306),指定用户密码 -e MYSQL_ROOT_PASSWORD= ,后台运行 -d ,指定名称 --name 总是运行,数据卷持久化数据到宿主机
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d --name mysql01 --restart=always -v /root/data:/var/lib/mysql mysql:5.6
4、docker运行MySQL容器的数据备份
在使用MySQL容器时数据卷虽然能备份数据
注意:数据卷将数据库底层文件系统进行的备份,不利于数据的迁移和备份,我们不懂,只有MySQL懂的
如何在MySQL导出sql文件来备份数据
利用mysql官网提供的命令 mysqldump
备份全部数据
docker exec 容器id sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /home/data/all-databases.sql
备份指定数据库数据和结构
docker exec 容器id sh -c 'exec mysqldump --databases 库名 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /home/data/databases.sql
备份指定数据库结构
docker exec 容器id sh -c 'exec mysqldump --no-data --databases 库名 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /home/data/databases.sql