zoukankan      html  css  js  c++  java
  • docker 安装mysql记录

    [root@bogon ~]# docker search mysql  #查看docker仓库中的mysql命令

    [root@bogon ~]#

     

    [root@bogon ~]# docker pull mysql:5.7 #为选定的需要pull到本地系统中的镜像

    5.7: Pulling from library/mysql

    45b42c59be33: Pull complete

    b4f790bd91da: Pull complete

    325ae51788e9: Pull complete

    adcb9439d751: Pull complete

    174c7fe16c78: Pull complete

    698058ef136c: Pull complete

    4690143a669e: Pull complete

    66676c1ab9b3: Pull complete

    25ebf78a38b6: Pull complete

    a6510e5d6228: Pull complete

    90ca045d52c5: Pull complete

    Digest: sha256:9fc60b229633ce1d1f2ee306705152d4b001056fb27c1b5debe23a732df72b70

    Status: Downloaded newer image for mysql:5.7

    docker.io/library/mysql:5.7

    [root@bogon ~]#

    [root@bogon ~]# docker images #查看镜像

    REPOSITORY   TAG       IMAGE ID       CREATED        SIZE

    mysql        5.7       d54bd1054823   18 hours ago   449MB

    [root@bogon ~]#

     

    Docker

    Description

    /var/lib/mysql

    MySQL data dir

    /var/log/mysql

    MySQL log dir

    /var/sock/mysqld

    MySQL socket dir

    /etc/mysql/conf.d

    MySQL configuration directory (used to overwrite MySQL config)

    /etc/mysql/docker-default.d

    MySQL configuration directory (used to overwrite MySQL config)

     

    #根据上面的镜像创建容器

    docker run --name mysql3307 -p 3307:3306 --privileged=true -ti -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=jkpms_prod -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -v /home/mysql/docker-data/3307/conf:/etc/mysql/conf.d -v /home/mysql/docker-data/3307/data/:/var/lib/mysql -v /home/mysql/docker-data/3307/logs/:/var/log/mysql -d mysql:5.7 --lower_case_table_names=1

    其中:

    -p 3307:3306           #将容器3306端口映射到宿主机的3307

    -e MYSQL_ROOT_PASSWORD=root   #设置root用户密码root

    -e MYSQL_DATABASE=jkpms_prod   #创建数据库jkpms_prod

    新建user用户,密码pass

    -v 挂载

    --restart=always         #跟随docker启动 

    --privileged=true         #容器root用户享有主机root用户权限 

    -d 后台启动 

    --lower_case_table_names=1   #设置表名参数名等忽略大小写

     

    [root@begon ~]# firewall-cmd --zone=public --add-port=3307/tcp --permanent

    success

    [root@begon ~]# netstat -ntpl   

    tcp6       0      0 :::3306                 :::*                    LISTEN      31928/mysqld        

    [root@begon ~]#

     

     

    [root@bogon 3307]# pwd #当前位置

    /home/mysql/docker-data/3307

    [root@bogon 3307]#

    [root@bogon 3307]# ll

    总用量 4

    drwxr-xr-x. 2 root    root   20 2月  28 00:40 conf

    drwxr-xr-x. 6 polkitd root 4096 2月  28 00:48 data

    drwxr-xr-x. 2 root    root    6 2月  28 00:23 logs

    [root@bogon 3307]#

     

    从现有服务器导表结构和数据到目标服务器

    1、先从数据源导出表结构和数据

    # 剔除指定表,导出指定数据库备份到 jkpms_0207.sql

    [root@localhost ]# mysqldump -uroot -pRoot123456!  jkpms_prod --default-character-set=utf8 --opt -Q -R --skip-lock-tables --ignore-table=jkpms_prod.t_work_log --ignore-table=jkpms_prod.sys_log_operation > jkpms_0207.sql

    mysqldump: [Warning] Using a password on the command line interface can be insecure.

    [root@localhost ]#

    [root@localhost ]# ll

    总用量 1045272

    -rw-r--r-- 1 root root 149502374 2月   7 09:51 jkpms_0207.sql

    [root@localhost ]# du -sh jkpms_0207.sql # 查看文件大小

    143M    jkpms_0207.sql

    [root@localhost ]# tar -zcvf jkpms_0207.sql.tar.gz jkpms_0207.sql    # 压缩 jkpms_0207.sql  jkpms_0207.sql.tar.gz 

    jkpms_0207.sql

    [root@localhost ]#

    [root@localhost ]# ll

    总用量 1056012

    -rw-r--r-- 1 root root 149502374 2月   7 09:51 jkpms_0207.sql

    -rw-r--r-- 1 root root  10994532 2月   7 09:53 jkpms_0207.sql.tar.gz

    [root@localhost ]#

    [root@localhost ]# du -sh jkpms_0207.sql.tar.gz 

    11M     jkpms_0207.sql.tar.gz

    [root@localhost ]#

    [root@localhost ]# sz  jkpms_0207.sql.tar.gz # 下载

    rz

     zmodem trl+C ȡ

     

      100%   10736 KB  429 KB/s 00:00:25       0 Errors..

    [root@localhost ]#

    [root@localhost ]# rm -rf jkpms_0207.sql # 删除 jkpms_0207.sql

    [root@localhost ]# ll

    总用量 910012

    -rw-r--r-- 1 root root 10994532 2月   7 09:53 jkpms_0207.sql.tar.gz

    [root@localhost ]#

     

     

    2、将导出的脚本scp到目标服务器,导入数据库

    远程传输:

    #将导出的脚本拷贝到目标服务器

    [root@localhost ] scp xxx.sql root@192.168.42.119:/home/mysql/docker-data/3307/data

    输入密码:1

     

    [root@localhost ]# rz #上传脚本

    rz waiting to receive.

     zmodem trl+C ȡ

     

      100%   13847 KB 13847 KB/s 00:00:01       0 Errors.

     

    [root@localhost ]# ll

    总用量 13852

    drwxr-xr-x 3 root root       18 3月  26 15:44 docker-data

    -rw-r--r-- 1 root root 14179748 3月  26 17:28 jkpms_0326.sql.tar.gz

    -rw-r--r-- 1 root root     1098 8月  30 2020 mysql_databak.sh

    [root@localhost ]#

    [root@localhost ]#

    [root@localhost ]# tar -zxvf jkpms_0326.sql.tar.gz  #解压

    jkpms_0326.sql

    [root@localhost ]# ll

    总用量 202180

    drwxr-xr-x 3 root root        18 3月  26 15:44 docker-data

    -rw-r--r-- 1 root root 192845814 3月  26 17:26 jkpms_0326.sql

    -rw-r--r-- 1 root root  14179748 3月  26 17:28 jkpms_0326.sql.tar.gz

    -rw-r--r-- 1 root root      1098 8月  30 2020 mysql_databak.sh

    [root@localhost ]#

    [root@localhost ]# mv jkpms_0326.sql /home/mysql/docker-data/3307/data/ #拷贝到挂载目录下,这样就可以在容器里面直接使用

    [root@hong ~]# docker exec -it mysql3307 mysql  -ujkpms_prod  -pjkPmS123! -P3306

    或者先进入容器内再登入mysql,如下

    [root@localhost ~]# docker exec -it 9d54c03eecee /bin/bash #进入容器

    root@9d54c03eecee:/# cd /var/lib/mysql #这个刚刚挂载那个目录

    root@9d54c03eecee:/# mysql -uroot -proot -P3306

    root@9d54c03eecee:/# mysql -hlocalhost -ujkpms_prod  -pjkPmS123! -P3306 #不行换这个用户

    mysql> use jkpms_prod;

    mysql> source /var/lib/mysql/jkpms_0326.sql;#导入脚本

    mysql> select count(1) from t_sys_user;

    +----------+

    | count(1) |

    +----------+

    |      403 |

    +----------+

    1 row in set (0.01 sec)

     

    mysql> exit

     

     

    #启动docker

    [root@hong ~]# service docker start

    Redirecting to /bin/systemctl start docker.service

    #启动mysql容器

    [root@hong ~]# docker start mysql3307

    mysql3307

    [root@hong data]# cd /home/mysql/docker-data/3307/data

    [root@hong data]# rz #上传许雪里控制中心初始化脚本

    [root@hong data]# ll | grep xxl_job.sql

    -rw-r--r--  1 root    root       9699 1116 2019 tables_xxl_job.sql

    #登入容器内mysql

    [root@hong ~]# docker exec -it mysql3307 /bin/bash

    root@ff0b508daeea:/#

    root@ff0b508daeea:/# cd /var/lib/mysql

    root@ff0b508daeea:/var/lib/mysql# mysql -uroot -pjkPmS123! -P3306

    mysql>

    mysql> show databases; #显示所有的数据库

    +--------------------+

    | Database           |

    +--------------------+

    | information_schema |

    | jkpms_prod         |

    | mysql              |

    | performance_schema |

    | sys                |

    +--------------------+

    5 rows in set (0.01 sec)

     

    mysql> create database xxl_job_admin;#创建数据库:xxl_job_admin

    Query OK, 1 row affected (0.01 sec)

     

    mysql> show databases;

    +--------------------+

    | Database           |

    +--------------------+

    | information_schema |

    | jkpms_prod         |

    | mysql              |

    | performance_schema |

    | sys                |

    | xxl_job_admin      |

    +--------------------+

    6 rows in set (0.01 sec)

    mysql> use xxl_job_admin;#进入数据库

    mysql> show tables;

    Empty set (0.00 sec)

    mysql> source /var/lib/mysql/tables_xxl_job_admin.sql;#建表脚本

    mysql> show tables;

    +----------------------------------+

    | Tables_in_xxl_job_admin          |

    +----------------------------------+

    | xxl_job_qrtz_blob_triggers       |

    | xxl_job_qrtz_calendars           |

    | xxl_job_qrtz_cron_triggers       |

    | xxl_job_qrtz_fired_triggers      |

    | xxl_job_qrtz_job_details         |

    | xxl_job_qrtz_locks               |

    | xxl_job_qrtz_paused_trigger_grps |

    | xxl_job_qrtz_scheduler_state     |

    | xxl_job_qrtz_simple_triggers     |

    | xxl_job_qrtz_simprop_triggers    |

    | xxl_job_qrtz_trigger_group       |

    | xxl_job_qrtz_trigger_info        |

    | xxl_job_qrtz_trigger_log         |

    | xxl_job_qrtz_trigger_logglue     |

    | xxl_job_qrtz_trigger_registry    |

    | xxl_job_qrtz_triggers            |

    +----------------------------------+

    16 rows in set (0.00 sec)

     

    mysql> 

     

    mysql> source /var/lib/mysql/tables_xxl_job.sql;#直接导入建库建表脚本

    mysql> show databases;

    +--------------------+

    | Database           |

    +--------------------+

    | information_schema |

    | jkpms_prod         |

    | mysql              |

    | performance_schema |

    | sys                |

    | xxl-job            |----------建库脚本里面有

    | xxl_job_admin      |

    +--------------------+

    7 rows in set (0.00 sec)

     

    mysql> use xxl-job;

    Reading table information for completion of table and column names

    You can turn off this feature to get a quicker startup with -A

     

    Database changed

    mysql>

    mysql> show tables;

    +----------------------------------+

    | Tables_in_xxl-job                |

    +----------------------------------+

    | xxl_job_qrtz_blob_triggers       |

    | xxl_job_qrtz_calendars           |

    | xxl_job_qrtz_cron_triggers       |

    | xxl_job_qrtz_fired_triggers      |

    | xxl_job_qrtz_job_details         |

    | xxl_job_qrtz_locks               |

    | xxl_job_qrtz_paused_trigger_grps |

    | xxl_job_qrtz_scheduler_state     |

    | xxl_job_qrtz_simple_triggers     |

    | xxl_job_qrtz_simprop_triggers    |

    | xxl_job_qrtz_trigger_group       |

    | xxl_job_qrtz_trigger_info        |

    | xxl_job_qrtz_trigger_log         |

    | xxl_job_qrtz_trigger_logglue     |

    | xxl_job_qrtz_trigger_registry    |

    | xxl_job_qrtz_triggers            |

    +----------------------------------+

    16 rows in set (0.00 sec)

     

    mysql>

     

     

     

    查看docker仓库中的mysql命令

    [root@bogon ~]# docker search mysql

    作者:howtosay
             
    放牛娃的个人笔记整理,每天记录一点点,进步一点点
  • 相关阅读:
    js-监听网络状态
    call、apply、bind三者比较
    弹框滑动击穿问题
    Vue指令及自定义指令的使用
    vue-cli 运行打开浏览器
    递归判断多维数组中对象是否有值
    sync 修饰符在Vue中如何使用
    自定义组件 v-model 的使用
    Object.keys( )与 for in 区别
    mongodb 安装
  • 原文地址:https://www.cnblogs.com/hongzm/p/15710540.html
Copyright © 2011-2022 走看看