Centos /Linux环境下利用Docker 安装mysql5.7镜像(含离线安装),启动mysql镜像并初始化数据库
Docker 安装mysql镜像,含离线
Docker 安装mysql镜像(含离线)
准备mysql的Docker镜像(需要在有网的服务器中下载)
-
使用有网的服务器下载好镜像
docker pull mysql:5.7
-
保存下载好的镜像成tar
docker images docker save imageid > mysql5.7 ll
将准备好tar导入到docker镜像
-
将镜像上传到所需服务器(放在固定位置)
-
导入镜像
docker load <mysql5.7
注意名称,这里的mysql5.7和上面打包
docker save imageid > mysql5.7
的名称一致,本例未改名 -
查看导入的镜像,并重新命名镜像
docker images docker tag imageid mysql:5.7
Docker启动mysql镜像并初始化数据库
Docker启动MySQL镜像
-
创建本地数据库目录、配置文件以及日志目录(方便进行容器数据卷挂载)
mkdir -p /home/app/mysql/data /home/app/mysql/logs /home/app/mysql/conf
-
启动镜像
docker run --name mysql -p 3306:3306 -v /home/app/mysql/data:/var/lib/mysql -v /home/app/mysql/conf:/etc/mysql/conf.d -v /home/app/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d eef0fab001e8
-p 3306:3306
:端口映射,将宿主机3306端口与容器3306端口做映射
格式:-p 宿主机端口:容器端口–name mysql
: 指定容器名字为mysql,也可以不指定,不指定没有容器名字数据容器卷挂载
-v /home/app/mysql/data:/var/lib/mysql
:对宿主机数据库目录与容器数据库目录进行映射挂载
-v /home/app/mysql/conf:/etc/mysql/conf.d
:对宿主机数据库配置文件与容器数据库配置文件进行映射挂载
-v /home/app/mysql/logs:/var/log/mysql
:对宿主机数据库日志与容器数据库日志进行映射挂载
-e MYSQL_ROOT_PASSWORD=123456
:配置mysql的root账号的密码为123456(可以根据需要自行修改密码)
-d
:后台执行
eef0fab001e8
:镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id
Docker初始化数据库
有网配置(非必要,按需修改)
-
进入到bash
docker exec -it eef0fab001e8 bin/bash
eef0fab001e8
:镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id -
docker 安装vim(有网)
apt-get update apt-get install vim
-
修改mysql的配置(非必要,按需修改)
vi /etc/my.cnf
修改的内容为:
character-set-server=utf8 max_connections = 5000 log_bin_trust_function_creators=1 lower_case_table_names = 1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES transaction_isolation = READ-COMMITTED group_concat_max_len = 102400
退出 bash (2 种操作) 1)Ctrl + d 退出容器(也可直接输入:exit); 2)Ctrl + p + q 退出并在后台运行容器;
-
重启 docker 容器
docker restart [容器名]
无网配置(非必要,按需修改)
-
进入到bash
docker exec -it eef0fab001e8 bin/bash
eef0fab001e8
:镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id -
docker 配置my.cnf(非必要,按需修改)【直接拷贝,需重启】
复制/root/mysql_db_back/下的my.cnf文件到容器中的etc目录下
docker cp /root/mysql_db_back/my.cnf mysql:/etc
重启 docker 容器
docker restart [容器名]
-
检查参数配置
SHOW VARIABLES WHERE variable_name IN ( 'log_bin_trust_function_creators', 'transaction_isolation', 'lower_case_table_names', 'sql_mode', 'character_set_server', 'default_character_set', 'innodb_large_prefix', 'max_connections', 'innodb_buffer_pool_size', 'group_concat_max_len' );
更多推荐
所有评论(0)