1.4 docker 用mysql镜像安装二进制的mysql容器服务器

一、环境准备

   此节操作,需提前按《1.3 docker 虚拟机与容器于互传文件,并制作二进制安装mysql5.7的镜像》操作后,才能实现如下功能。

   地址:https://www.cnblogs.com/sc-luoxf/articles/9991444.html

1.1 上传mysql镜像

   我们以centos/mysql5.7 v6 镜像为例子进行安装

[root@itpux docker]# docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
centos/mysql5.7      v6                  35dee3f4071b        3 minutes ago       4.28 GB
centos/mysql5.7/0x   v2                  56d2bc5d223c        About an hour ago   7 GB
centos/mysql5.7/0x   v1                  212884203729        2 hours ago         4.23 GB
centos/mysql5.7      v4                  5874f49a05b6        17 hours ago        419 MB
docker.io/nginx      latest              e81eb098537d        5 days ago          109 MB
docker.io/mysql      5.7                 ae6b78bedf88        6 days ago          372 MB
docker.io/centos     latest              75835a67d134        6 weeks ago         200 MB
[root@itpux docker]# 

 

 

1.2 安装MYSQL容器,并生成相关文件映射和端口开放

docker run -dit --name=mysqldb -e MYSQL_ROOT_PASSWORD=root --privileged=true -v /docker/mysql5.7/log/3306/:/docker/mysql5.7/log/3306/ -v /docker/mysql5.7/app/cnf:/docker/mysql5.7/app/cnf -v /docker/mysql5.7/data/3306/:/docker/mysql5.7/data/3306/ -p 3306:3306 -h dockermysql centos/mysql5.7:v6  

1.3  登录到容器内

[root@itpux ~]# docker exec -it mysqldb bash
[root@dockermysql /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay          46G   16G   27G  38% /
tmpfs           911M     0  911M   0% /dev
tmpfs           911M     0  911M   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/sda1        46G   16G   27G  38% /etc/hosts
[root@dockermysql /]# cd docker/
[root@dockermysql docker]# ll
total 8
lrwxrwxrwx 1 root root   35 Nov 22 09:23 mysql5.7 -> mysql-5.7.22-linux-glibc2.12-x86_64
drwxrwxr-x 1 root root 4096 Nov 22 09:23 mysql-5.7.22-linux-glibc2.12-x86_64
[root@dockermysql docker]# 

 

 

二、登录到容器进行二进制安装

2.1 上传配置文件到容器指定目录下,此配置cnf目录与创建docker时目录地址一致。因为原镜像文件已经在此目录对这些配置文件做了链接到相应启动目录,故不需要重新做映射。此处只是将容器中配置文件映射到虚拟机(母机)上,以便后期管理。

[root@itpux ~]# cd /docker/
[root@itpux docker]# ll
总用量 628740
-rw-r--r-- 1 root root     11613 11月 22 12:43 my.cnf
drwxr-xr-x 5 root root      4096 11月 22 13:25 mysql5.7
-rw-r--r-- 1 root root 643790848 11月 22 12:13 mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
-rw-r--r-- 1 root root     10645 11月 22 12:43 mysql.server
-rw-r--r-- 1 root root        89 11月 22 13:08 mysql.start
[root@itpux docker]# docker ps
CONTAINER ID        IMAGE                COMMAND             CREATED             STATUS              PORTS                    NAMES
377c0bdf2086        centos/mysql5.7:v6   "/bin/bash"         3 minutes ago       Up 3 minutes        0.0.0.0:3306->3306/tcp   mysqldb
[root@itpux docker]# docker cp my.cnf 377c0bdf2086:/docker/mysql5.7/app/cnf/
[root@itpux docker]# docker cp mysql.server 377c0bdf2086:/docker/mysql5.7/app/cnf/
[root@itpux docker]# docker cp mysql.start 377c0bdf2086:/docker/mysql5.7/app/cnf/
[root@itpux docker]# 

 

2.2 创建必须文件,不然安装会报错。

touch /docker/mysql5.7/log/3306/mysql-error.log
touch /docker/mysql5.7/log/3306/mysql-general.log
touch /docker/mysql5.7/log/3306/mysql-slow.log
cd /docker/mysql5.7/

 

2.2  对文件赋权

chown -R mysql:mysql /docker/mysql5.7/*
chown -R mysql:mysql /etc/init.d/mysqld.server
chown -R mysql:mysql /etc/init.d/mysqld
chown -R mysql:mysql /etc/my.cnf
chmod -R 775 /docker/mysql5.7/

 

 

2.3 mysql安装

  进入安装目录,进行安装

cd /docker/mysql5.7/app/bin/
pwd
/docker/mysql5.7/app/bin

 

./mysqld --initialize --user=mysql --basedir=/docker/mysql5.7/app/ --datadir=/docker/mysql5.7/data/3306/

 

 

2.4 查看初始密码

[root@dockermysql support-files]# cd /docker/mysql5.7/log/3306/
[root@dockermysql 3306]# ll
total 20
-rwxrwxr-x 1 mysql mysql 12354 Nov 22 11:48 mysql-error.log
-rwxrwxr-x 1 mysql mysql     0 Nov 22 11:44 mysql-general.log
-rwxrwxr-x 1 mysql mysql   589 Nov 22 11:48 mysql-slow.log
[root@dockermysql 3306]# cat mysql-error.log 
 100 200
 100 200
 100 200
 100 200
 100 200
2018-11-22T11:47:37.200186+08:00 0 [Warning] InnoDB: New log files created, LSN=48434
 100 200
2018-11-22T11:47:38.490474+08:00 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-11-22T11:47:38.548723+08:00 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 5b1c2300-ee09-11e8-b32a-0242ac110002.
2018-11-22T11:47:38.549460+08:00 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-11-22T11:47:38.550666+08:00 1 [Note] A temporary password is generated for root@localhost: -?dMq!7gSRuh

 

 

三、数据库安装

 请见https://www.cnblogs.com/sc-luoxf/articles/9991444.html,第5章节,数据库安装。

 

四、登录Mysql进行测试

   下面请见https://www.cnblogs.com/sc-luoxf/articles/9991444.html的,第5.5章节。

 

posted on 2018-11-21 19:23  luoxf  阅读(280)  评论(0编辑  收藏  举报

导航