1. 程式人生 > 其它 >docker 安裝mysql記錄

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 228 00:40 conf

drwxr-xr-x. 6 polkitd root 4096 228 00:48 data

drwxr-xr-x. 2 root root 6 228 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 27 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 27 09:51 jkpms_0207.sql

-rw-r--r-- 1 root root 10994532 27 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 27 09:53 jkpms_0207.sql.tar.gz

[root@localhost ]#

2、將匯出的指令碼scp到目標伺服器,匯入資料庫

遠端傳輸:

#將匯出的指令碼拷貝到目標伺服器

[root@localhost ] scp xxx.sql [email protected].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 326 15:44 docker-data

-rw-r--r-- 1 root root 14179748 326 17:28 jkpms_0326.sql.tar.gz

-rw-r--r-- 1 root root 1098 830 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 326 15:44 docker-data

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

-rw-r--r-- 1 root root 14179748 326 17:28 jkpms_0326.sql.tar.gz

-rw-r--r-- 1 root root 1098 830 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     出處:https://home.cnblogs.com/u/hongzm/     放牛娃的個人筆記整理,每天記錄一點點,進步一點點