国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

服務器離線部署docker,鏡像遷移,mysql主從搭建等服務

這篇具有很好參考價值的文章主要介紹了服務器離線部署docker,鏡像遷移,mysql主從搭建等服務。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

公司項目要上線項目,買了兩臺云服務器,需進行環(huán)境部署(1臺接入公網(wǎng),一臺只能局域網(wǎng)訪問),主要部署以下內(nèi)容

1、服務器之間配置ssh免密

2、離線docker部署

3、docker鏡像遷移

4、redis服務

5、minio文件服務

6、kkFileView文件預覽服務

7、mysql主從搭建

目錄

1、配置兩臺服務器ssh免密,方便文件傳輸

2、離線docker部署

?3、docker鏡像遷移

docker mysql文件遷移

4、redis服務

5、minio文件服務

6、kkFileView文件預覽服務

7、mysql主從搭建

1、mysql主節(jié)點

2、mysql從節(jié)點

3、出現(xiàn)的問題

1、slave_io_running:connecting解決方法

?2、slave_io_running:no解決方法(可能原因:server-uuid主從節(jié)點相同)

3、Slave_SQL_Running: No?



1、配置兩臺服務器ssh免密,方便文件傳輸

配置免密

1、更改host 和修改主機名

vim /etc/hosts

? 在最下面映射IP,使得配置的node01,映射到192.168.52.100上面?

192.168.52.100 node01
192.168.52.101 node02

vim /etc/hostname?

2、配置免密,生成服務器的公鑰私鑰,

?配置免密如果是root用戶則進入 cd ?/root/.ssh/?

ssh-keygen -t rsa

3、把公鑰拷貝到node01上去,生成authorized_keys文件包含兩個節(jié)點的公鑰

ssh-copy-id ?node01

4、在node01上將,生成的公共密匙authorized_keys拷貝到node02中?

scp authorized_keys node02:$PWD

5、同樣的操作在node02上面,此時就可以使用ssh 免密登錄了

2、離線docker部署

下載地址:Index of linux/static/stable/x86_64/

我下載的是下面這個

docker 離線鏡像,服務器,docker,mysql

因為我是將下載好的docker文件上傳到公網(wǎng)的,然后再 通過局域網(wǎng)上傳到寧外的node02服務器上,

scp?docker-24.0.4.tgz node02:$PWD

1、解壓文件

tar zxf? docker-24.0.4.tgz?

?2、將docker 相關命令拷貝到 /usr/bin

sudo cp docker/* /usr/bin/

3. 啟動Docker守護程序

?sudo dockerd &

4、驗證是否安裝成功,執(zhí)行docker info命令,若正常打印版本信息則安裝成功。

?docker info

5、在 /usr/lib/systemd/system/ 目錄下創(chuàng)建docker.service 文件

sudo vi /usr/lib/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
?
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
?
[Install]
WantedBy=multi-user.target
?

6、設置docker開機啟動

systemctl enable/disable docker?

?3、docker鏡像遷移

因為局域網(wǎng)的docker,不能遠程拉取鏡像,所以需要,公網(wǎng)拉取鏡像文件之后,通過局域網(wǎng)傳遞目標服務器

1、公網(wǎng)服務器打包鏡像(我打包的是mysql)

docker save mysql:5.7 > /home/soft/mysql5.7.tar

2、傳遞打包的鏡像到局域網(wǎng)node02服務器

?scp? mysql5.7.tar node02:$PWD

3、在node02服務器上將壓縮包恢復成鏡像

docker load < /home/soft/mysql5.7.tar

docker mysql文件遷移

1、進入要遷移的容器

docker exec -it mysql-master /bin/bash

2、將要遷移的數(shù)據(jù)庫,轉(zhuǎn)化為.sql文件

mysqldump -u root -p --databases aviation_dev> aviation_dev.sql?

? -u 用戶名

--databases:遷移的數(shù)據(jù)庫,比如我的是aviation_dev

3、拷貝容器生成的SQL文件,到宿主機目錄hone目錄下面

docker cp mysql-master:/aviation_dev.sql ? /home?

?4、我的是在同一宿主機容器,

cd /home

docker cp aviation_dev.sql mysql-new:/aviation_dev.sql

?mysql-new這個是我的新容器的名稱

5、進入新容器,恢復遷移的數(shù)據(jù)

docker exec -it ?mysql-new bash

mysql -u root -p < /aviation_dev.sql?

4、redis服務

requirepass:redis密碼

docker run -p 6333:6379 --name redis -v /mydata/redis/redis.conf:/etc/redis/redis.conf ?-v /mydata/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456

5、minio文件服務

拉取最新版本,或者其他版本

docker pull minio/minio

MINIO_ACCESS_KEY:登錄用戶名

MINIO_ACCESS_KEY:登錄用戶密碼

docker run -p 9000:9000 -p 9090:9090 \
?--name minio \
?-d --restart=always \
?-e "MINIO_ACCESS_KEY=test" \
?-e "MINIO_SECRET_KEY=123456" \
?-v /root/docker/minio/data:/data ?\
?-v /root/docker/minio/config:/root/.minio \
?minio/minio ?server\
?/data --console-address ":9090" -address ":9000"

6、kkFileView文件預覽服務

kkFileView官網(wǎng):kkFileView - 在線文件預覽

# 網(wǎng)絡環(huán)境方便訪問docker中央倉庫

docker pull keking/kkfileview:4.1.0

docker run -it -p 8012:8012 keking/kkfileview:4.1.0?

https? KKfile服務 :

nginx如下

? ? ?location /file {
? ? ? ? proxy_pass ?http://127.0.0.1:8012;
? ? ? }

KK_BASE_URL="https://域名/file"

KK_CONTEXT_PATH="/file"

???????docker run -it -d -p 8012:8012 -e KK_BASE_URL="https://域名/file" -e KK_CONTEXT_PATH="/file" keking/kkfileview:4.1.0

7、mysql主從搭建

1、mysql主節(jié)點

1、部署mysql主節(jié)點容器

docker run -p 3333:3306 --name mysql-master \
-v /mydata/mysql-master/log:/var/log/mysql \
-v /mydata/mysql-master/data:/var/lib/mysql \
-v /mydata/mysql-master/conf:/etc/mysql/conf.d \
-e ?MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

?目錄說明:

-v /mydata/mysql-master/conf:/etc/mysql ;將配置文件夾掛載到主機上
-v /mydata/mysql-master/log:/var/log/mysql:將日志文件夾掛載到主機上
-v /mydata/mysql-master/data:/var/lib/mysql:將數(shù)據(jù)文件夾掛載到主機上

2、 修改主節(jié)點my.conf配置

vim /mydata/mysql-master/conf/my.cnf?

[mysqld]
## 設置server_id,同一局域網(wǎng)中需要唯一
server_id=101?
## 指定不需要同步的數(shù)據(jù)庫名稱
binlog-ignore-db=mysql ?
## 開啟二進制日志功能
log-bin=mall-mysql-bin ?
## 設置二進制日志使用內(nèi)存大?。ㄊ聞眨?br> binlog_cache_size=1M ?
## 設置使用的二進制日志格式(mixed,statement,row)
binlog_format=mixed ?
## 二進制日志過期清理時間。默認值為0,表示不自動清理。
expire_logs_days=7 ?

##忽略大小寫配置

?lower_case_table_names = 1?
## 跳過主從復制中遇到的所有錯誤或指定類型的錯誤,避免slave端復制中斷。
## 如:1062錯誤是指一些主鍵重復,1032錯誤是因為主從數(shù)據(jù)庫數(shù)據(jù)不一致
slave_skip_errors=1062

重啟主節(jié)點容器?

?docker restart mysql-master

3、進入主節(jié)點容器,新增同步用戶賬號

docker exec -it mysql-master /bin/bash

mysql -uroot -p123456

創(chuàng)建同步賬號?

CREATE USER 'slave' @'%' IDENTIFIED BY '123456';


GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'slave'@'%';

2、mysql從節(jié)點

1、創(chuàng)建從節(jié)點容器

docker run -p 3334:3306 --name mysql-slave \
-v /mydata/mysql-slave/log:/var/log/mysql \
-v /mydata/mysql-slave/data:/var/lib/mysql \
-v /mydata/mysql-slave/conf:/etc/mysql/conf.d \
-e ?MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

2、修改主節(jié)點my.conf配置

vim /mydata/mysql-master/conf/my.cnf?

[mysqld]
## 設置server_id,同一局域網(wǎng)中需要唯一
server_id=122
## 指定不需要同步的數(shù)據(jù)庫名稱
binlog-ignore-db=mysql ?
## 開啟二進制日志功能,以備Slave作為其它數(shù)據(jù)庫實例的Master時使用
log-bin=mall-mysql-slave1-bin ?
## 設置二進制日志使用內(nèi)存大?。ㄊ聞眨?br> binlog_cache_size=1M ?
## 設置使用的二進制日志格式(mixed,statement,row)
binlog_format=mixed ?
## 二進制日志過期清理時間。默認值為0,表示不自動清理。
expire_logs_days=7 ?
## 跳過主從復制中遇到的所有錯誤或指定類型的錯誤,避免slave端復制中斷。
## 如:1062錯誤是指一些主鍵重復,1032錯誤是因為主從數(shù)據(jù)庫數(shù)據(jù)不一致
slave_skip_errors=1062 ?
## relay_log配置中繼日志
relay_log=mall-mysql-relay-bin ?
## log_slave_updates表示slave將復制事件寫進自己的二進制日志
log_slave_updates=1 ?
## slave設置為只讀(具有super權限的用戶除外)
read_only=1

##忽略大小寫配置
lower_case_table_names = 1?

重啟子節(jié)點容器?

docker restart mysql-slave

3、查看主數(shù)據(jù)庫的Position參數(shù),因為已經(jīng)有了些數(shù)據(jù)了,所以是5483771,一般剛剛開始時postion是443

show master status;

docker 離線鏡像,服務器,docker,mysql

?4、進入從數(shù)據(jù)庫

docker exec -it mysql-slave /bin/bash

mysql -uroot -p123456

?5、在從數(shù)據(jù)庫中查看主從同步狀態(tài)

show slave status \G

change master to?
master_host='10.0.0.4',master_user='slave',master_password='123456',master_port=3333,
master_log_file='mall-mysql-bin.000002',master_log_pos=684,master_connect_retry=30;

master_host:主數(shù)據(jù)庫的IP地址;
master_port:主數(shù)據(jù)庫的運行端口;
master_user:在主數(shù)據(jù)庫創(chuàng)建的用于同步數(shù)據(jù)的用戶賬號;
master_password:在主數(shù)據(jù)庫創(chuàng)建的用于同步數(shù)據(jù)的用戶密碼;
master_log_file:指定從數(shù)據(jù)庫要復制數(shù)據(jù)的日志文件,通過查看主數(shù)據(jù)的狀態(tài),獲取File參數(shù);
master_log_pos:指定從數(shù)據(jù)庫從哪個位置開始復制數(shù)據(jù),通過查看主數(shù)據(jù)的狀態(tài),獲取Position參數(shù);
master_connect_retry:連接失敗重試的時間間隔,單位為秒。

?6、從數(shù)據(jù)開啟服務

start slave;

docker 離線鏡像,服務器,docker,mysql

slave_io_running,負責與主機的io通信;
slave_sql_running,負責自己的slave mysql進程。

兩個yes表示成功

3、出現(xiàn)的問題

1、slave_io_running:connecting解決方法

1、網(wǎng)絡不通

ping主節(jié)點IP看是否能ping通,如果ping不通,就檢查安全組或者防火墻是否開放ICMP協(xié)議

2、slave賬號是否能遠程連上主節(jié)點服務

docker exec -it mysql-slave /bin/bash

mysql -u slave -p123456 -h10.0.0.4 -P 3333

?3、檢查從機點開啟服務,命令是否正確,開始的file文件和開始節(jié)點是否正確,以及hostIP是否正確

docker 離線鏡像,服務器,docker,mysql

?先停止,再修改,再開啟服務

stop slave;

start slave;?

show slave status \G

?2、slave_io_running:no解決方法(可能原因:server-uuid主從節(jié)點相同)

1、找到文件位置

find / -iname "auto.cnf"

2、進入文件目錄,刪除文件

rm auto.cnf

3、 重啟子節(jié)點服務

stop slave;

start slave;?

show slave status \G

3、Slave_SQL_Running: No?


1.程序可能在slave上進行了寫操作

2.也可能是slave機器重起后,事務回滾造成的.文章來源地址http://www.zghlxwxcb.cn/news/detail-764346.html

mysql> stop slave ;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> start slave ;

到了這里,關于服務器離線部署docker,鏡像遷移,mysql主從搭建等服務的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包