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 [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 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 11月 16 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/ 放牛娃的個人筆記整理,每天記錄一點點,進步一點點