在日常的工作中,经常会需要将数据存在服务器。经常用到的数据库是mysql,如果将数据库安装在服务器中,会使得环境搭建比较麻烦,而且如果遇到切换服务器的场景,就需要再一次进行安装,非常不便。基于此,使用docker进行mysql环境的搭建成为了日常的必选。具体步骤如下:(docker基本知识可自行查找)
1、搜集镜像源,在本地下载mysql的docker镜像;
2、需要在本地创建一些目录,进行数据的保存,避免docker重启的时候数据丢失;本次示例创建的目录为:/home/data_space/mysql/
3、启动docker,同时记得目录映射和端口映射及参数设置;命令如下:
docker run \
-e MYSQL_ROOT_PASSWORD=mysqltest \
-p 3307:3306 \
-v /home/data_space/mysql/logs:/var/log/mysql \
-v /home/data_space/mysql/datadir:/var/lib/mysql \
-d xxxxxxxx
其中,-e 中的MYSQL_ROOT_PASSWORD参数为docker镜像中,mysql的root密码;-p 表示端口映射,本地端口为3307,容器中的端口为3306(mysql的默认端口);-v 表示本地目录与容器目录中的映射关系,容器中的/var/lib/mysql一定记得映射,这是存储数据的目录;xxxxxxxx表示本地的镜像;
至此,容器启动完成。可以分别至/home/data_space/mysql/目录下查看是否存在数据库的相关信息;同时,可以进入容器查看,确定是否可以登录mysql.
- 如果需要备份数据,可以使用mysqldump命令进行配置;
- 数据库恢复:在更换服务器后,需要进行数据信息恢复,此时可以将备份的.sql文件恢复;具体操作未:进入到容器内,登录mysql,然后使用source命令,进行恢复。如source /home/data_space/mysql/sss.sql,
说明:
1、因为/home/data_space/mysql路径已经进行了目录映射,所以需要将备份文件移动到该目录下,然后在容器内也可以进行访问。
2、注意目录需要有权限写数据,同时制定的目录/home/data_space/mysql会初始化,注意不能有文件。