美文网首页
Docker资料整理-3-mysql5.7

Docker资料整理-3-mysql5.7

作者: 牵手生活 | 来源:发表于2019-10-08 09:05 被阅读0次

一、拉取 Docker Hub 官方提供的MySQL镜像

sudo docker pull mysql:5.7
拉取mysql:5.7

二、创建数据、日志存放路径

~$  mkdir -p ~/mysql_wechatTask/{data,logs}

三、运行容器

sudo docker run -d --name mysql \
           -v ~/mysql_wechatTask/data:/var/lib/mysql \
           -e MYSQL_ROOT_PASSWORD=111111 \
           -p 3306:3306 \
           mysql:5.7

#-d: –后台运行容器
#–name mysql: –创建的容器名称
#-v ~/mysql/data:/var/lib/mysql: –将主机当前目录下的~/mysql/data挂载到容器的/var/lib/mysql
#-e MYSQL_ROOT_PASSWORD=111111: –使用111111作为root账号的密码
#-p 3306:3306: –容器的3306端口映射到宿主机器
#mysql:5.7: –镜像Name:Tag

注意: 官方拉取的MySQL默认的数据存放路径为/var/lib/mysql,而在MySQL容器中,不支持修改,所以采用挂载的方式修改数据存放路径。


运行mysql容器

四、进入容器

sudo docker exec -it mysql bash

五、开启远程连接
1 登录MySQL

mysql -uroot -p111111

2 进行授权

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

mysql开启远程登录

六、大小写忽略
1 拷贝容器中的mysqld.cnf文件

sudo docker cp mysql:./etc/mysql/mysql.conf.d/mysqld.cnf \
          ~/mysql_wechatTask/mysqld.cnf
拷贝容器中的mysqld.cnf文件

2 修改mysqld.cnf文件,添加:

[mysqld] 
lower_case_table_names=1
修改mysqld.cnf文件

3 拷贝修改后的mysqld.cnf文件到容器

sudo docker cp ~/mysql_wechatTask/mysqld.cnf \
          mysql:./etc/mysql/mysql.conf.d/mysqld.cnf

七、重启容器

sudo docker restart mysql

八、查看MySQL日志

sudo docker logs mysql

查看mysql日志

九、远程链接docker上的mysql数据库

image.png

十、停止容器并提交当前容器到镜像

# sudo docker stop <容器ID>
#回到Docker下面,停止容器
sudo docker stop e6d7ab874d50
#提交当前容器到镜像
# docker commit <容器ID> <NAME/VERSION>
sudo docker commit e6d7ab874d50 mysql_wechat_task/5.7nodata
提交当前容器到镜像
image.png

在启动一个实例

sudo docker run -d --name mysql_intance_wechat_task \
           -v ~/mysql_wechatTask/data:/var/lib/mysql \
           -e MYSQL_ROOT_PASSWORD=111111 \
           -p 3306:3306 \
           mysql_wechat_task/5.7nodata:latest
image.png

十一、备份mysql数据文件(需要先停止容器哦)

$ sudo tar -zcvf ~/mysql_data_bak/mysql_wechatTask.tar.gz mysql_wechatTask

image.png

十二、其他机器docker需要该数据库注意事项
1:docker镜像备份到镜像服务器(如阿里云-容器镜像服务器)
2: 目标docker去镜像服务器拉取该镜像
3:数据库copy文件恢复到指定的目录
4 、docker运行拉取下来的容器(注意指定号mysql数据库的路径哦)

mysql数据库在不同docker之间备份 阿里云镜像服务器

参考资料

基于Docker 部署MySQL 5.7

相关文章

网友评论

      本文标题:Docker资料整理-3-mysql5.7

      本文链接:https://www.haomeiwen.com/subject/vluvuctx.html