TIDB在centos7.9上通过docker-compose进行安装、备份
1.环境介绍:
在centos7.9上安装tidb docker-compose版本
虚拟机配置2C/8G/40G
最小化安装
2.安装步骤
2.1 安装centos7.9
略
2.2 安装docker
(1)安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2(2)配置docker-ce的repo
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo(3)查看支撑的docker-ce版本
yum list docker-ce --showduplicates | sort -r[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror
已安装的软件包
可安装的软件包* updates: mirrors.ustc.edu.cn
Loading mirror speeds from cached hostfile* extras: mirrors.ustc.edu.cn
docker-ce.x86_64 3:20.10.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.9-3.el7 @docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el7 docker-ce-stable
...(4)选择1个版本进行安装
yum install docker-ce-20.10.9-3.el7 -y(5)启动 Docker & 设置开机自启动
systemctl start docker
systemctl enable docker(6)配置加速器
cat <<EOF> /etc/docker/daemon.json
{"exec-opts": ["native.cgroupdriver=systemd"],"registry-mirrors": ["https://x83mabsk.mirror.aliyuncs.com"]
}
EOF(7)生效
systemctl daemon-reload
systemctl restart docker(8)查看docker版本
[root@localhost 20221204]# docker version
Client: Docker Engine - CommunityVersion: 20.10.21API version: 1.41Go version: go1.18.7Git commit: baeda1fBuilt: Tue Oct 25 18:04:24 2022OS/Arch: linux/amd64Context: defaultExperimental: trueServer: Docker Engine - CommunityEngine:Version: 20.10.9API version: 1.41 (minimum version 1.12)Go version: go1.16.8Git commit: 79ea9d3Built: Mon Oct 4 16:06:37 2021OS/Arch: linux/amd64Experimental: falsecontainerd:Version: 1.6.10GitCommit: 770bd0108c32f3fb5c73ae1264f7e503fe7b2661runc:Version: 1.1.4GitCommit: v1.1.4-0-g5fd4c4ddocker-init:Version: 0.19.0GitCommit: de40ad0
[root@localhost 20221204]#
2.3 安装docker-compose
(1)查看当前docker-compose的最新版本,经查看为2.14.0
https://github.com/docker/compose/releases(2)下载并安装docker-compose的最新版本2.14.0
[root@localhost ~]# curl -L "https://github.com/docker/compose/releases/download/v2.14.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 42.8M 100 42.8M 0 0 4213k 0 0:00:10 0:00:10 --:--:-- 5699k
[root@localhost ~]# (3)添加执行权限
[root@localhost ~]# chmod +x /usr/local/bin/docker-compose(4)查看docker-compose版本
[root@localhost ~]# docker-compose --version
Docker Compose version v2.14.0
[root@localhost ~]#
2.4、下载并安装tidb
(1)下载 tidb-docker-composegit clone https://github.com/pingcap/tidb-docker-compose.git由于以上命令一直拒绝连接,直接登录下载tidb-docker-compose-master.zip(2)解压tidb-docker-compose-master.zip
unzip tidb-docker-compose-master.zip(3)进入目录
cd tidb-docker-compose-master(4)执行docker-compose pull拉取镜像[root@localhost tidb-docker-compose-master]# docker-compose pull
[+] Running 55/55⠿ tispark-master Skipped - Image is already being pulled by tispark-slave0 0.0s⠿ tikv1 Skipped - Image is already being pulled by tikv2 0.0s⠿ pd1 Skipped - Image is already being pulled by pd0 0.0s⠿ tikv0 Skipped - Image is already being pulled by tikv2 0.0s⠿ pd2 Skipped - Image is already being pulled by pd0 0.0s⠿ prometheus Pulled 174.7s⠿ aab39f0bc16d Pull complete 145.5s⠿ 2cd9e239cea6 Pull complete 146.4s⠿ 0266ca3d0dd9 Pull complete 157.6s⠿ 341681dba10c Pull complete 158.1s⠿ 8f6074d68b9e Pull complete 158.1s⠿ 2fa612efb95d Pull complete 158.2s⠿ 151829c004a9 Pull complete 158.2s⠿ 75e765061965 Pull complete 158.3s⠿ b5a15632e9ab Pull complete ⠿ pushgateway Pulled 161.5s⠿ 8ddc19f16526 Pull complete 143.6s⠿ a3ed95caeb02 Pull complete 145.7s⠿ 8279f336cdd3 Pull complete 144.3s⠿ 92ea3322eea5 Pull complete 145.4s⠿ tikv2 Pulled 170.9s⠿ a5bfcc748ffc Pull complete 129.7s⠿ 6ac6ee01b237 Pull complete 155.0s⠿ tispark-slave0 Pulled 138.4s⠿ 169185f82c45 Pull complete 4.7s⠿ ca14bef7a00d Pull complete 26.6s⠿ db403405ee2d Pull complete 26.6s⠿ 247c061c09b7 Pull complete 128.0s⠿ 9aecf7988d49 Pull complete 137.4s⠿ 5c863ea94449 Pull complete 137.5s⠿ pd0 Pulled 156.5s⠿ 1197d937b561 Pull complete 140.2s⠿ 145e91b0363f Pull complete 140.7s⠿ tidb-vision Pulled 158.7s⠿ ff3a5c916c92 Pull complete 136.0s⠿ 25b4d1376ceb Pull complete 141.5s⠿ 7f59066db563 Pull complete 141.8s⠿ 552cc3a8725c Pull complete 141.9s⠿ bdcc5af847c1 Pull complete 141.9s⠿ bec589d0b766 Pull complete 142.3s⠿ 20405cfd1a4f Pull complete 142.7s⠿ c6073a35b3d7 Pull complete 142.9s⠿ grafana Pulled 195.2s⠿ f7e2b70d04ae Pull complete 161.4s⠿ fc263172e074 Pull complete 161.5s⠿ 5d125c70da52 Pull complete 162.1s⠿ 1b52ecccba1a Pull complete 179.0s⠿ 886991020d89 Pull complete 179.0s⠿ 8d4018c3f38b Pull complete 179.1s⠿ tidb Pulled 67.5s⠿ 9d48c3bd43c5 Pull complete 26.6s⠿ 9812b53cc158 Pull complete 28.4s⠿ e8355eb28dda Pull complete 29.1s⠿ 120e0a1644dc Pull complete 30.6s⠿ 87bd45d8d814 Pull complete 66.6s
[root@localhost tidb-docker-compose-master]# (5)查看拉取的镜像
[root@localhost tidb-docker-compose-master]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
pingcap/tidb latest 778bf9e1e051 19 months ago 145MB
pingcap/tikv latest 6e34b1d95950 19 months ago 355MB
pingcap/pd latest d55858ba1d82 19 months ago 151MB
pingcap/tispark v2.1.1 501543755826 3 years ago 894MB
grafana/grafana 6.0.1 ffd9c905f698 3 years ago 241MB
pingcap/tidb-vision latest e9b25d9f7bdb 4 years ago 47.6MB
prom/prometheus v2.2.1 cc866859f8df 4 years ago 113MB
prom/pushgateway v0.3.1 434efa6ed9db 6 years ago 13.3MB
[root@localhost tidb-docker-compose-master]#注:关闭selinux
setenforce 0(6)启动镜像
[root@localhost tidb-docker-compose-master]# docker-compose up -d
[+] Running 14/14⠿ Network tidb-docker-compose-master_default Created 0.2s⠿ Container tidb-docker-compose-master-pushgateway-1 Started 2.5s⠿ Container tidb-docker-compose-master-tidb-vision-1 Started 3.0s⠿ Container tidb-docker-compose-master-pd2-1 Started 3.0s⠿ Container tidb-docker-compose-master-prometheus-1 Started 2.9s⠿ Container tidb-docker-compose-master-grafana-1 Started 2.4s⠿ Container tidb-docker-compose-master-pd1-1 Started 2.9s⠿ Container tidb-docker-compose-master-pd0-1 Started 2.9s⠿ Container tidb-docker-compose-master-tikv2-1 Started 3.8s⠿ Container tidb-docker-compose-master-tikv1-1 Started 4.0s⠿ Container tidb-docker-compose-master-tikv0-1 Started 4.0s⠿ Container tidb-docker-compose-master-tispark-master-1 Started 6.9s⠿ Container tidb-docker-compose-master-tidb-1 Started 7.2s⠿ Container tidb-docker-compose-master-tispark-slave0-1 Started 9.0s
[root@localhost tidb-docker-compose-master]#(7)查看已经启动的镜像
[root@localhost 20221204]#
[root@localhost 20221204]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d4b205b49388 pingcap/tispark:v2.1.1 "/opt/spark/sbin/sta…" 4 hours ago Up 4 hours 0.0.0.0:38081->38081/tcp, :::38081->38081/tcp tidb-docker-compose-master-tispark-slave0-1
f484bdcf01c7 pingcap/tidb:latest "/tidb-server --stor…" 4 hours ago Up 4 hours 0.0.0.0:4000->4000/tcp, :::4000->4000/tcp, 0.0.0.0:10080->10080/tcp, :::10080->10080/tcp tidb-docker-compose-master-tidb-1
2d94b8c34e63 pingcap/tispark:v2.1.1 "/opt/spark/sbin/sta…" 4 hours ago Up 4 hours 0.0.0.0:7077->7077/tcp, :::7077->7077/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp tidb-docker-compose-master-tispark-master-1
7cd39865285e pingcap/tikv:latest "/tikv-server --addr…" 4 hours ago Up 4 hours 20160/tcp tidb-docker-compose-master-tikv1-1
a8e6369c3884 pingcap/tikv:latest "/tikv-server --addr…" 4 hours ago Up 4 hours 20160/tcp tidb-docker-compose-master-tikv0-1
6ebfcaf9cb25 pingcap/tikv:latest "/tikv-server --addr…" 4 hours ago Up 4 hours 20160/tcp tidb-docker-compose-master-tikv2-1
4f842680e8ab prom/pushgateway:v0.3.1 "/bin/pushgateway --…" 4 hours ago Up 4 hours 9091/tcp tidb-docker-compose-master-pushgateway-1
22b4e380833e prom/prometheus:v2.2.1 "/bin/prometheus --l…" 4 hours ago Up 4 hours 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp tidb-docker-compose-master-prometheus-1
175ebd6fdd79 pingcap/pd:latest "/pd-server --name=p…" 4 hours ago Up 4 hours 2380/tcp, 0.0.0.0:49154->2379/tcp, :::49154->2379/tcp tidb-docker-compose-master-pd1-1
0a33b9414678 grafana/grafana:6.0.1 "/run.sh" 4 hours ago Up 4 hours 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp tidb-docker-compose-master-grafana-1
7a829cadcae4 pingcap/tidb-vision:latest "/bin/sh -c 'sed -i …" 4 hours ago Up 4 hours 80/tcp, 443/tcp, 2015/tcp, 0.0.0.0:8010->8010/tcp, :::8010->8010/tcp tidb-docker-compose-master-tidb-vision-1
7be8713e1bb2 pingcap/pd:latest "/pd-server --name=p…" 4 hours ago Up 4 hours 2380/tcp, 0.0.0.0:49153->2379/tcp, :::49153->2379/tcp tidb-docker-compose-master-pd0-1
687c06ad9d04 pingcap/pd:latest "/pd-server --name=p…" 4 hours ago Up 4 hours 2380/tcp, 0.0.0.0:49155->2379/tcp, :::49155->2379/tcp tidb-docker-compose-master-pd2-1
[root@localhost 20221204]#
2.5下载mysql客户端
(1)准备mysql客户端的rpm包
mysql-community-common-5.7.40-1.el7
mysql-community-libs-5.7.40-1.el7
mysql-community-client-5.7.40-1.el7(2)卸载mariadb
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps(3)安装mysql客户端
[root@localhost ~]# rpm -ivh mysql-community-client-5.7.40-1.el7.x86_64.rpm mysql-community-libs-5.7.40-1.el7.x86_64.rpm mysql-community-common-5.7.40-1.el7.x86_64.rpm
warning: mysql-community-client-5.7.40-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
Preparing... ################################# [100%]
Updating / installing...1:mysql-community-common-5.7.40-1.e################################# [ 33%]2:mysql-community-libs-5.7.40-1.el7################################# [ 67%]3:mysql-community-client-5.7.40-1.e################################# [100%]
[root@localhost ~]#
2.6使用mysql客户端连接tidb数据库
[root@localhost ~]# mysql -h 127.0.0.1 -P 4000 -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.7.25-TiDB-v5.0.1 TiDB Server (Apache License 2.0) Community Edition, MySQL 5.7 compatibleCopyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;
+--------------------+
| Database |
+--------------------+
| INFORMATION_SCHEMA |
| METRICS_SCHEMA |
| PERFORMANCE_SCHEMA |
| mysql |
| test |
+--------------------+
5 rows in set (0.00 sec)mysql>
2.7设置root密码并使用新密码进行登录
(1)查看用户mysql> select user,host from mysql.user;
+------+------+
| user | host |
+------+------+
| root | % |
+------+------+
1 row in set (0.01 sec)mysql>(2)为用户root@'%'设置密码
ALTER USER 'root'@'%' identified by '新密码';
flush privileges;(3)使用新密码进行登录
mysql -h 127.0.0.1 -P 4000 -u root -p
2.8 访问grafana
http://ip地址:3000
2.9访问集群可视化
http://ip地址:8010
2.10访问Spark Web UI
http://ip地址:8080
3.tidb备份、恢复
3.1备份工具介绍
mysqldump 可以从mysql迁移到tidb,数据量小的时候比较好用,但是当数据量较大了,迁移时间会比较长
Dumpling 是一个数据导出工具,该工具可以把存储在 TiDB/MySQL 中的数据导出为 SQL 或者 CSV 格式,可以用于完成逻辑上的全量备份或者导出。
TiDB Lightning 是一个数据导入工具,该工具可以把 Dumpling 或 CSV 输出格式的数据快速导入到 TiDB 中,可以用于完成逻辑上的全量恢复或者导入。
BR 是 TiDB 分布式备份恢复的命令行工具,用于对 TiDB 集群进行数据备份和恢复。相比 Dumpling 和 Mydumper,BR 更适合大数据量的场景,BR 只支持 TiDB v3.1 及以上版本。如果需要对延迟不敏感的增量备份,请参阅 BR。如果需要实时的增量备份,请参阅 TiCDC。
3.2使用mysqldump进行备份恢复
与mysql一样,读取数据,写入.sql文件
(1)通过mysqldump备份tidb的表
mysqldump -h 127.0.0.1 -P 4000 -uroot --databases test >aa.sql(2)恢复aa.sqlmysql -h 127.0.0.1 -P 4000 -u root -pmysql> source aa.sql(3)查看恢复的表
mysql> select * from test.tt;
+------+------+
| a | b |
+------+------+
| 1 | 11 |
| 2 | 22 |
+------+------+
2 rows in set (0.00 sec)mysql>
3.3 安装tidb-toolkit工具
(1)下载tidb-toolkit,登录如下url进行下载:
https://cn.pingcap.com/product-community/#TiDB(2)上传服务器,解压并安装
tar -zxf tidb-community-toolkit-v6.4.0-linux-amd64.tar.gz(3)查看解压的文件
[root@localhost tidb-community-toolkit-v6.4.0-linux-amd64]# ls
1105.dmctl.json 2683.drainer.json 2.spark.json bench-v1.12.0-linux-amd64.tar.gz dm-worker-v6.4.0-linux-amd64.tar.gz mydumper snapshot.json
1110.dm-worker.json 2703.pump.json 3.package.json binlogctl drainer-v6.4.0-linux-amd64.tar.gz node_exporter-v1.3.1-linux-amd64.tar.gz spark-v2.4.3-any-any.tar.gz
1112.dm-master.json 2709.pd-recover.json 3.PCC.json blackbox_exporter-v0.21.1-linux-amd64.tar.gz dumpling package-v0.0.9-linux-amd64.tar.gz sync_diff_inspector
17.tispark.json 2721.dumpling.json 5.alertmanager.json br dumpling-v6.4.0-linux-amd64.tar.gz PCC-1.0.1-linux-amd64.tar.gz tidb-lightning-ctl
183.dm.json 2775.prometheus.json 7.blackbox_exporter.json br-v6.4.0-linux-amd64.tar.gz errdoc-v4.0.7-linux-amd64.tar.gz pd-recover-v6.4.0-linux-amd64.tar.gz tidb-lightning-v6.4.0-linux-amd64.tar.gz
185.server.json 2791.tidb-lightning.json 7.node_exporter.json cdc-v6.4.0-linux-amd64.tar.gz etcdctl prometheus-v6.4.0-linux-amd64.tar.gz tikv-importer-v4.0.2-linux-amd64.tar.gz
1.dba.json 2797.br.json 80.tikv-importer.json dba-v1.0.4-linux-amd64.tar.gz export-2022-12-04T23:52:52+08:00 pump-v6.4.0-linux-amd64.tar.gz timestamp.json
1.index.json 279.bench.json 9.errdoc.json dmctl-v6.4.0-linux-amd64.tar.gz grafana-v6.4.0-linux-amd64.tar.gz reparo tispark-v2.4.1-any-any.tar.gz
1.root.json 2809.grafana.json alertmanager-v0.17.0-linux-amd64.tar.gz dm-master-v6.4.0-linux-amd64.tar.gz keys root.json tiup-linux-amd64.tar.gz
225.tiup.json 2884.cdc.json arbiter dm-v1.11.0-linux-amd64.tar.gz local_install.sh server-v1.11.0-linux-amd64.tar.gz tiup-v1.11.0-linux-amd64.tar.gz
[root@localhost tidb-community-toolkit-v6.4.0-linux-amd64]#(4)解压dumpling-v6.4.0-linux-amd64.tar.gz
tar -zxf dumpling-v6.4.0-linux-amd64.tar.gz(5)解压tidb-lightning-v6.4.0-linux-amd64.tar.gz
tar -zxf tidb-lightning-v6.4.0-linux-amd64.tar.gz
3.4使用dumpling进行备份
(1)创建备份目录
[root@localhost dumpling]#mkdir -p /tmp/dumpling(2)使用dumpling进行备份[root@localhost dumpling]# /root/tidb-toolkit/tidb-community-toolkit-v6.4.0-linux-amd64/dumpling -u root -p oracle -P 4000 -h 127.0.0.1 --filetype sql -t 8 -o /tmp/dumpling -r 200000 -F 256MiB -B "test"
Release version: v6.4.0
Git commit hash: cf36a9ce2fe1039db3cf3444d51930b887df18a1
Git branch: heads/refs/tags/v6.4.0
Build timestamp: 2022-11-13 05:17:51Z
Go version: go version go1.19.2 linux/amd64[2022/12/05 02:53:56.370 +08:00] [INFO] [versions.go:54] ["Welcome to dumpling"] ["Release Version"=v6.4.0] ["Git Commit Hash"=cf36a9ce2fe1039db3cf3444d51930b887df18a1] ["Git Branch"=heads/refs/tags/v6.4.0] ["Build timestamp"="2022-11-13 05:17:51"] ["Go Version"="go version go1.19.2 linux/amd64"]
[2022/12/05 02:53:56.374 +08:00] [INFO] [version.go:398] ["detect server version"] [type=TiDB] [version=5.0.1]
{"level":"warn","ts":"2022-12-05T02:54:06.388+0800","logger":"etcd-client","caller":"v3@v3.5.2/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc0007601c0/pd2:2379","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest balancer error: last connection error: connection error: desc = \"transport: Error while dialing dial tcp: lookup pd1 on 192.168.40.2:53: server misbehaving\""}
[2022/12/05 02:54:06.388 +08:00] [INFO] [dump.go:1422] ["meet error while check whether fetched pd addr and TiDB belong to one cluster. This won't affect dump process"] [error="context deadline exceeded"] [pdAddrs="[pd2:2379,pd0:2379,pd1:2379]"]
[2022/12/05 02:54:06.389 +08:00] [WARN] [dump.go:1476] ["If the amount of data to dump is large, criteria: (data more than 60GB or dumped time more than 10 minutes)\nyou'd better adjust the tikv_gc_life_time to avoid export failure due to TiDB GC during the dump process.\nBefore dumping: run sql `update mysql.tidb set VARIABLE_VALUE = '720h' where VARIABLE_NAME = 'tikv_gc_life_time';` in tidb.\nAfter dumping: run sql `update mysql.tidb set VARIABLE_VALUE = '10m' where VARIABLE_NAME = 'tikv_gc_life_time';` in tidb.\n"]
[2022/12/05 02:54:06.423 +08:00] [INFO] [dump.go:131] ["begin to run Dump"] [conf="{\"s3\":{\"endpoint\":\"\",\"region\":\"\",\"storage-class\":\"\",\"sse\":\"\",\"sse-kms-key-id\":\"\",\"acl\":\"\",\"access-key\":\"\",\"secret-access-key\":\"\",\"provider\":\"\",\"force-path-style\":true,\"use-accelerate-endpoint\":false,\"role-arn\":\"\",\"external-id\":\"\",\"object-lock-enabled\":false},\"gcs\":{\"endpoint\":\"\",\"storage-class\":\"\",\"predefined-acl\":\"\",\"credentials-file\":\"\"},\"azblob\":{\"endpoint\":\"\",\"account-name\":\"\",\"account-key\":\"\",\"access-tier\":\"\"},\"AllowCleartextPasswords\":false,\"SortByPk\":true,\"NoViews\":true,\"NoSequences\":true,\"NoHeader\":false,\"NoSchemas\":false,\"NoData\":false,\"CompleteInsert\":false,\"TransactionalConsistency\":true,\"EscapeBackslash\":true,\"DumpEmptyDatabase\":true,\"PosAfterConnect\":false,\"CompressType\":0,\"Host\":\"127.0.0.1\",\"Port\":4000,\"Threads\":8,\"User\":\"root\",\"Security\":{\"CAPath\":\"\",\"CertPath\":\"\",\"KeyPath\":\"\"},\"LogLevel\":\"info\",\"LogFile\":\"\",\"LogFormat\":\"text\",\"OutputDirPath\":\"/tmp/dumpling\",\"StatusAddr\":\":8281\",\"Snapshot\":\"437827678069325825\",\"Consistency\":\"snapshot\",\"CsvNullValue\":\"\\\\N\",\"SQL\":\"\",\"CsvSeparator\":\",\",\"CsvDelimiter\":\"\\\"\",\"Databases\":[\"test\"],\"Where\":\"\",\"FileType\":\"sql\",\"ServerInfo\":{\"ServerType\":3,\"ServerVersion\":\"5.0.1\",\"HasTiKV\":true},\"Rows\":200000,\"ReadTimeout\":900000000000,\"TiDBMemQuotaQuery\":0,\"FileSize\":268435456,\"StatementSize\":1000000,\"SessionParams\":{\"tidb_snapshot\":\"437827678069325825\"},\"Tables\":{},\"CollationCompatible\":\"loose\"}"]
[2022/12/05 02:54:06.630 +08:00] [INFO] [conn.go:44] ["cannot execute query"] [retryTime=1] [sql="select distinct policy_name from information_schema.placement_policies where policy_name is not null;"] [args=null] [error="sql: select distinct policy_name from information_schema.placement_policies where policy_name is not null;, args: []: Error 1146: Table 'information_schema.placement_policies' doesn't exist"] [errorVerbose="Error 1146: Table 'information_schema.placement_policies' doesn't exist\nsql: select distinct policy_name from information_schema.placement_policies where policy_name is not null;, args: []\ngithub.com/pingcap/tidb/dumpling/export.simpleQueryWithArgs\n\tgithub.com/pingcap/tidb/dumpling/export/sql.go:1147\ngithub.com/pingcap/tidb/dumpling/export.(*BaseConn).QuerySQL.func1\n\tgithub.com/pingcap/tidb/dumpling/export/conn.go:42\ngithub.com/pingcap/tidb/br/pkg/utils.WithRetry\n\tgithub.com/pingcap/tidb/br/pkg/utils/retry.go:52\ngithub.com/pingcap/tidb/dumpling/export.(*BaseConn).QuerySQL\n\tgithub.com/pingcap/tidb/dumpling/export/conn.go:34\ngithub.com/pingcap/tidb/dumpling/export.ListAllPlacementPolicyNames\n\tgithub.com/pingcap/tidb/dumpling/export/sql.go:368\ngithub.com/pingcap/tidb/dumpling/export.(*Dumper).dumpDatabases\n\tgithub.com/pingcap/tidb/dumpling/export/dump.go:375\ngithub.com/pingcap/tidb/dumpling/export.(*Dumper).Dump\n\tgithub.com/pingcap/tidb/dumpling/export/dump.go:295\nmain.main\n\t./main.go:74\nruntime.main\n\truntime/proc.go:250\nruntime.goexit\n\truntime/asm_amd64.s:1594"]
[2022/12/05 02:54:06.640 +08:00] [INFO] [writer.go:265] ["no data written in table chunk"] [database=test] [table=tt] [chunkIdx=0]
[2022/12/05 02:54:06.640 +08:00] [INFO] [collector.go:239] ["backup success summary"] [total-ranges=4] [ranges-succeed=4] [ranges-failed=0] [total-take=10.213925ms] [total-kv-size=69B] [average-speed=6.755kB/s] [total-rows=2]
[2022/12/05 02:54:06.641 +08:00] [INFO] [main.go:81] ["dump data successfully, dumpling will exit now"](3)提示dump data successfully, dumpling will exit now证明备份成功(4)查看备份文件
[root@localhost dumpling]# ls -lt
total 16
-rw-r--r--. 1 root root 146 Dec 5 02:54 metadata
-rw-r--r--. 1 root root 69 Dec 5 02:54 test.tt.0000000010000.sql
-rw-r--r--. 1 root root 165 Dec 5 02:54 test.tt-schema.sql
-rw-r--r--. 1 root root 95 Dec 5 02:54 test-schema-create.sql
[root@localhost dumpling]#
3.5 使用lightning进行恢复
注意:TiDB Lightning支持dumpling导出的数据文件,不支持BR工具备份的文件。
(1)配置tidb-lightning.toml[root@localhost tidb-community-toolkit-v6.4.0-linux-amd64]# cat tidb-lightning.toml
[lightning]# 转换数据的并发数,默认为逻辑 CPU 数量,不需要配置。
# 混合部署的情况下可以配置为逻辑 CPU 的 75% 大小。
# region-concurrency =# 日志
level = "info"
file = "tidb-lightning.log"[tikv-importer]
# backend 设置为 local 模式
backend = "local"
# 设置本地临时存储路径
sorted-kv-dir = "/tmp/dumpling"[mydumper]
# Mydumper 源数据目录。
data-source-dir = "/tmp/dumpling"[tidb]
# 目标集群的信息。tidb-server 的监听地址,填一个即可。
host = "192.168.40.142"
port = 4000
user = "root"
password = "1"
# 表架构信息在从 TiDB 的“状态端口”获取。
status-port = 10080
# pd-server 的地址,填一个即可
pd-addr = "127.0.0.1:49153"[root@localhost tidb-community-toolkit-v6.4.0-linux-amd64]#(2)运行tidb-lightning
[root@localhost tidb-community-toolkit-v6.4.0-linux-amd64]# nohup ./tidb-lightning -config tidb-lightning.toml > nohup.out &--恢复报错,还在查原因。
[2022/12/05 03:11:36.146 +08:00] [ERROR] [lightning.go:519] ["restore failed"] [error="[Lightning:KV:ErrCreateKVClient]create kv client error: [PD:client:ErrClientCreateTSOStream]create TSO stream failed, retry timeout"]
[2022/12/05 03:11:36.147 +08:00] [ERROR] [main.go:103] ["tidb lightning encountered error stack info"] [error="[Lightning:KV:ErrCreateKVClient]create kv client error: [PD:client:ErrClientCreateTSOStream]create TSO stream failed, retry timeout"]
[2022/12/05 03:11:46.105 +08:00] [WARN] [config.go:827] ["currently only per-task configuration can be applied, global configuration changes can only be made on startup"] ["global config changes"="[lightning.level,lightning.file]"]
[2022/12/05 03:11:46.105 +08:00] [INFO] [lightning.go:382] [cfg] [cfg="{\"id\":1670181106105605303,\"lightning\":{\"table-concurrency\":6,\"index-concurrency\":2,\"region-concurrency\":2,\"io-concurrency\":5,\"check-requirements\":true,\"meta-schema-name\":\"lightning_metadata\",\"max-error\":{\"type\":0},\"task-info-schema-name\":\"lightning_task_info\"},\"tidb\":{\"host\":\"192.168.40.142\",\"port\":4000,\"user\":\"root\",\"status-port\":10080,\"pd-addr\":\"127.0.0.1:49153\",\"sql-mode\":\"ONLY_FULL_GROUP_BY,NO_AUTO_CREATE_USER\",\"tls\":\"false\",\"security\":{\"ca-path\":\"\",\"cert-path\":\"\",\"key-path\":\"\",\"redact-info-log\":false},\"max-allowed-packet\":67108864,\"distsql-scan-concurrency\":15,\"build-stats-concurrency\":20,\"index-serial-scan-concurrency\":20,\"checksum-table-concurrency\":2,\"vars\":null},\"checkpoint\":{\"schema\":\"tidb_lightning_checkpoint\",\"driver\":\"file\",\"enable\":true,\"keep-after-success\":\"remove\"},\"mydumper\":{\"read-block-size\":65536,\"batch-size\":0,\"batch-import-ratio\":0,\"source-id\":\"\",\"data-source-dir\":\"file:///tmp/dumpling\",\"character-set\":\"auto\",\"csv\":{\"separator\":\",\",\"delimiter\":\"\\\"\",\"terminator\":\"\",\"null\":\"\\\\N\",\"header\":true,\"trim-last-separator\":false,\"not-null\":false,\"backslash-escape\":true},\"max-region-size\":268435456,\"filter\":[\"*.*\",\"!mysql.*\",\"!sys.*\",\"!INFORMATION_SCHEMA.*\",\"!PERFORMANCE_SCHEMA.*\",\"!METRICS_SCHEMA.*\",\"!INSPECTION_SCHEMA.*\"],\"files\":null,\"no-schema\":false,\"case-sensitive\":false,\"strict-format\":false,\"default-file-rules\":true,\"ignore-data-columns\":null,\"data-character-set\":\"binary\",\"data-invalid-char-replace\":\"�\"},\"tikv-importer\":{\"addr\":\"\",\"backend\":\"local\",\"on-duplicate\":\"replace\",\"max-kv-pairs\":4096,\"send-kv-pairs\":32768,\"region-split-size\":0,\"region-split-keys\":0,\"sorted-kv-dir\":\"/tmp/dumpling\",\"disk-quota\":9223372036854775807,\"range-concurrency\":16,\"duplicate-resolution\":\"none\",\"incremental-import\":false,\"engine-mem-cache-size\":536870912,\"local-writer-mem-cache-size\":134217728,\"store-write-bwlimit\":0},\"post-restore\":{\"checksum\":\"required\",\"analyze\":\"optional\",\"level-1-compact\":false,\"post-process-at-last\":true,\"compact\":false},\"cron\":{\"switch-mode\":\"5m0s\",\"log-progress\":\"5m0s\",\"check-disk-quota\":\"1m0s\"},\"routes\":null,\"security\":{\"ca-path\":\"\",\"cert-path\":\"\",\"key-path\":\"\",\"redact-info-log\":false},\"black-white-list\":{\"do-tables\":null,\"do-dbs\":null,\"ignore-tables\":null,\"ignore-dbs\":null}}"]
[2022/12/05 03:11:46.115 +08:00] [INFO] [lightning.go:483] ["load data source start"]
[2022/12/05 03:11:46.115 +08:00] [INFO] [loader.go:450] ["[loader] file is filtered by file router"] [path=metadata]
[2022/12/05 03:11:46.115 +08:00] [INFO] [lightning.go:486] ["load data source completed"] [takeTime=291.086µs] []
[2022/12/05 03:11:46.115 +08:00] [INFO] [checkpoints.go:1014] ["open checkpoint file failed, going to create a new one"] [path=/tmp/tidb_lightning_checkpoint.pb] []
[2022/12/05 03:12:51.753 +08:00] [ERROR] [lightning.go:519] ["restore failed"] [error="[Lightning:KV:ErrCreateKVClient]create kv client error: [PD:client:ErrClientCreateTSOStream]create TSO stream failed, retry timeout"]
[2022/12/05 03:12:51.753 +08:00] [ERROR] [main.go:103] ["tidb lightning encountered error stack info"] [error="[Lightning:KV:ErrCreateKVClient]create kv client error: [PD:client:ErrClientCreateTSOStream]create TSO stream failed, retry timeout"]
[root@localhost tidb-community-toolkit-v6.4.0-linux-amd64]#
[root@localhost tidb-community-toolkit-v6.4.0-linux-amd64]#(3)使用TiDB Lightning时需要注意以下几点:TiDB Lightning运行后,TiDB集群将无法正常对外提供服务
若tidb-lightning崩溃,集群会留在“导入模式”。若忘记转回“普通模式”,集群会产生大量未压缩的文件,继而消耗CPU并导致延迟。此时,需要使用 tidb-lightning-ctl 手动将集群转回“普通模式”:tidb-lightning-ctl --switch-mode=normal(4)参考:
https://blog.csdn.net/solihawk/article/details/118691591
https://www.cnblogs.com/luckyplj/p/15732313.html
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
TIDB在centos7.9上通过docker-compose进行安装、备份
1.环境介绍: 在centos7.9上安装tidb docker-compose版本 虚拟机配置2C/8G/40G 最小化安装 2.安装步骤 2.1 安装centos7.9 略 2.2 安装docker (1)安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2(2…...
![](https://img-blog.csdnimg.cn/0fb4c885e3b1477fba18bb5b6373ff96.png)
Spring中Bean的生命周期
先直接说出过程,再来演示具体的操作 过程 简化来说就是 1、首先是实例化Bean,当客户向容器请求一个尚未初始化的bean时,或初始化bean的时候需要注入另一个尚末初始化的依赖时,容器就会调用doCreateBean()方法进行实例化…...
![](https://img-blog.csdnimg.cn/8db1be1b7db14c10b920618e09a9d6c9.png)
ACM第三周---周训---题目合集.
🚀write in front🚀 📝个人主页:认真写博客的夏目浅石.CSDN 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:ACM周训练题目合集.CSDN 💬总结:…...
![](https://img-blog.csdnimg.cn/1a37898460c148c980fc3cd0bd83595c.png)
VUE+Spring Boot前后端分离开发实战(六):基于RABC权限通用后台管理系统-给角色动态分配权限和用户
文章目录 前言功能设计后端实现前端实现写在后面前言 本文记录了通用后台管理系统中RABC权限中两个功能:给角色分配权限、给角色设置用户。 给角色分配用户:前端使用到了elementUI中的tree,包括加载树以及给已选配权限给默认值等。给角色设置用户:前端用到了elementUI中的…...
![](https://img-blog.csdnimg.cn/e039db640d6a4c29b8d844b2002891fc.png)
Dockerfile自定义镜像实操【镜像结构、Dockerfile语法、构建Java项目】
要自定义镜像,就必须先了解镜像的结构才行。 1 镜像结构 镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。 以MySQL为例,镜像的组成结构: 简单讲,镜像就是在系统函数库、运行环境基础上,添加应用…...
![](https://img-blog.csdnimg.cn/img_convert/52063a3685e9c96e279cf4d5dd73ef9d.png)
javaScript 进阶之路 --- 《加深理解回调函数》
前言: 回想当初第一次看到“回调函数”这个名词的时候,真的快把我难哭了。所有视频教程在讲到某个知识点的时候,大概都会说一句:“啊,这里怎么办呢?这里我们就需要用到一个回调函数...”。 等等࿰…...
![](https://img-blog.csdnimg.cn/img_convert/00651f28860909fd6e00691743cd549d.png)
Linux开发常用ps命令选项详解
【摘要】本文介绍了在Linux应用/内核开发调试中,经常需要用到的两个选项组合,当然,如果你需要查看更多更详尽的选项说明,可以参考man说明文档,即命令行下输入man ps进行查看。 aux选项组合 使用场景:更多…...
![](https://img-blog.csdnimg.cn/img_convert/281a38f5e42648a4fcb2016311116664.png#averageHue=#f1d2b1)
【ceph】分布式存储ceph
1 块存储,文件存储,对象存储 1.1 简介 文件存储:分层次存储,文件存储在文件夹中;访问文件时系统需要知道文件所在的路径。 举例:企业部门之间运用网络存储器(NAS)进行文件共享。 …...
![](https://img-blog.csdnimg.cn/717b06fbb9e04299be307a5f3c7c64d6.png)
Spring框架(九):Spring注解开发Annotation
Spring注解开发引子如何用注解替代xml基础配置Bean可以加一些注解来实现原有的xml文件的功能Component注解及其衍生注解依赖注入AutowireSpring非自定义的注解开发Spring其他注解注解的原理解析-xml方式注解的原理解析-注解方式引子 痛定思痛,主要问题出现在自己雀…...
![](https://img-blog.csdnimg.cn/2020122516220060.jpg)
python隶属关系图模型:基于模型的网络中密集重叠社区检测方法
隶属关系图模型 是一种生成模型,可通过社区联系产生网络。下图描述了一个社区隶属关系图和网络的示例(图1)。最近我们被客户要求撰写关于社区检测的研究报告,包括一些图形和统计输出。 图1.左:社区关系图(圆…...
![](https://img-blog.csdnimg.cn/img_convert/f751cc7e85ae4158a9fb6700d855764b.png)
Java实现猜数游戏
1 问题 编写一个Java程序,实现以下功能: 2 方法 首先导入java.util包下的Random,让程序随便分配给用户一个数。 再导入java.util包下的Scanner类,构建Scanner对象,以便输入。 利用Random().nextInt()生成一个随机的i…...
![](https://img-blog.csdnimg.cn/ce15a97283e94bf5a7fe902e4bf5fb6d.png)
阿里云安装mysql、nginx、redis
目录 安装mysql 安装nginx 编辑安装redis 先看一下系统基本信息 安装mysql rpm -qa | grep mariadb 卸载mariadb rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 下载mysql源 wget -i http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm yum…...
![](https://img-blog.csdnimg.cn/a7213f4bbe0b45c2902c51203341071c.png)
毕业设计-基于机器视觉的行人车辆跟踪出入双向检测计数
目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…...
![](https://www.ngui.cc/images/no-images.jpg)
linux 安装nginx
1.安装依赖包 //一键安装上面四个依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2.下载并解压安装包 /或上传解压包 //创建一个文件夹 cd /usr/local mkdir nginx cd nginx //下载tar包 wget http://nginx.org/download/nginx-1.13.7.tar.gz t…...
![](https://img-blog.csdnimg.cn/e433befa6f054a9ca390eb74bcd16750.png)
javaee之黑马旅游网1
这是一个用来锻炼javaweb基础知识的项目,先来导入一些我们准备好的文件 下面这些东西是我们项目必备的,我们提前准备好了 ,这个我会上传到我的资源,你们可以自己去下载 利用maven来创建一个项目 选择无骨架创建项目,域…...
![](https://img-blog.csdnimg.cn/6a52b77c995f4670a296c7443a9de613.png#pic_center)
【高并发基础】理解 MVCC 及提炼实现思想
文章目录1. 前言2. MVCC 概念2.1 MVCC 版本链2.2 MVCC trx_id2.3 MVCC Read View3. 提出问题4. 解决问题4.1 不读未提交的数据4.1.1 一般的并发情况4.1.2 特殊的并发情况4.1.3 剩下的并发情况4.2 如果自己修改了数据,要第一时间读到5. MySQL RC 使用 MVCC5.1 MVCC D…...
![](https://www.ngui.cc/images/no-images.jpg)
Flow-vue源码中的应用
认识 Flow Flow 是 facebook 出品的 JavaScript 静态类型检查工具。Vue.js 的源码利用了 Flow 做了静态类型检查,所以了解 Flow 有助于我们阅读源码。 #为什么用 Flow JavaScript 是动态类型语言,它的灵活性有目共睹,但是过于灵活的副作用…...
![](https://img-blog.csdnimg.cn/f4bb72cbfa69489294e2ba12eb83a360.png)
学习python第一天(数据类型)
关于Python的数据类型 Python数据类型包括: 数字类型,字符类型,布尔类型,空类型,列表类型,元组类型,字典类型 1、数字类型 包括:整型int 浮点型float(有小数位的都是是浮点型) 注…...
![](https://img-blog.csdnimg.cn/a0148888765f45b1ab5062abb5a780b2.png)
echarts:nuxt项目使用echarts
一、项目环境 nuxt 2.X vue2.X vuex webpack 二、安装 yarn add echarts 三、使用 3.1、plugins目录下创建echarts.js import Vue from vue import * as echarts from echarts // 引入echarts Vue.prototype.$echarts echarts // 引入组件(将echarts注册为全…...
![](https://img-blog.csdnimg.cn/img_convert/e6efce4bf58245bdb529fb43510c111e.png)
认证服务-----技术点及亮点
大技术 Nacos做注册中心 把新建的微服务注册到Nacos上去 两个步骤 在配置文件中配置应用名称、nacos的发现注册ip地址,端口号在启动类上用EnableDiscoveryClient注解开启注册功能 使用Redis存验证码信息 加入依赖配置地址和端口号即可 直接注入StringRedisTempla…...
![](https://img-blog.csdnimg.cn/46134f547ace41dab16242d14c7a6691.jpeg)
【计算机毕业设计】74.家教平台系统源码
一、系统截图(需要演示视频可以私聊) 摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐…...
![](https://www.ngui.cc/images/no-images.jpg)
Hbase的SQL接口之Phoenix使用心得
PHOENIX 官方定义 A SQL layer over HBase delivered as a client-embedded JDBC drivertargeting low latency queries over HBase data 不同于Hive on HBase的方式,Phoenix将Query Plan直接使用HBaseAPI实现,目的是规避MapReduce框架,减少…...
![](https://www.ngui.cc/images/no-images.jpg)
Springboot萌宠社交分享系统的设计与实现hfdwz计算机毕业设计-课程设计-期末作业-毕设程序代做
Springboot萌宠社交分享系统的设计与实现hfdwz计算机毕业设计-课程设计-期末作业-毕设程序代做 【免费赠送源码】Springboot萌宠社交分享系统的设计与实现hfdwz计算机毕业设计-课程设计-期末作业-毕设程序代做本源码技术栈: 项目架构:B/S架构 开发语言…...
![](https://www.ngui.cc/images/no-images.jpg)
线性代数与解析几何——Part4 欧式空间 酉空间
线性代数与解析几何——Part4 欧式空间 & 酉空间 1. 欧氏空间 1. 定义 & 性质2. 内积表示与标准正交基3. 欧氏空间的同构4. 欧氏空间的线性变换5. 欧氏空间的子空间 2. 酉空间 1. 定义 & 性质2. 酉变换3. Hermite变换4. 规范变换 1. 欧氏空间 1. 定义 & 性质…...
![](https://img-blog.csdnimg.cn/26b5d609dbc2492787201347708c9454.png)
带头双向循环链表的实现
目录前言节点声明链表的初始化尾插打印链表头插尾删头删查找节点指定位置插入指定位置删除链表销毁前言 之前讲过单链表的实现,在实现的过程中,我们会发现每次删除或者在前面插入节点的时候,都要提前保存上一个节点的地址。这样做十分麻烦&a…...
![](https://www.ngui.cc/images/no-images.jpg)
07【C语言 趣味算法】最佳存款方案(采用 从后往前 递推解决)
目录 一、前情回顾二、Problem:最佳存款方案2.1 Description of the problem2.2 Analysis of the problem2.3 Algorithm design2.4 The complete code and the results of the run(完整的代码 以及 运行结果)一、前情回顾 06【C语言 & 趣味算法】牛顿迭代法求方程根(可…...
![](https://img-blog.csdnimg.cn/91e0abb407914020aef994f2b212ba39.png)
游戏开发36课 cocoscreator scrollview优化
在cocoscreator内,ScrollView控件封装的挺完美的了,不过对于一些对性能要求比较高的场景,会存在问题,以top100排行榜排行榜举例子 1、应用卡顿甚至崩溃 按照官方用例使用ScrollView,插入100个玩家的item,理…...
![](https://img-blog.csdnimg.cn/b7b870fc8c7a4bce8950f63226ba9a49.png)
屏幕开发学习 -- 迪文串口屏
一 前言 最近学习了一款基于图形化开发的屏幕,在摸索一周后,基本熟悉了这款产品的一个开发过程,今天给大家分享一下迪文串口屏的学习过程,有不足之处,还请见谅😁,包含了环境搭建和功能DEMO 二 …...
![](https://img-blog.csdnimg.cn/5e4afe76fa344cb58cf8898e41c559a8.png)
微机-------CPU与外设之间的数据传送方式
目录 一、无条件方式二、查询方式三、中断方式四、DMA方式一、无条件方式 外设要求:简单、数据变化缓慢。 外设被认为始终处于就绪状态。始终准备好数据或者始终准备好接收数据。 IN AL,数据端口 数据端口的地址通过CPU的地址总线送到地址译码器进行译码,同时该指令进行的是…...
![](https://www.ngui.cc/images/no-images.jpg)
从源码上解决rosdep update失败问题
(一)卸载官方的rosdep、rosdistro 卸载rosdistro # python2 sudo apt-get purge python-rosdistro# python3 sudo apt-get purge python3-rosdistro卸载rosdep # python2 sudo apt-get purge python-rosdep# python3 sudo apt-get purge python3-rosd…...
![](https://img-blog.csdnimg.cn/b5370379a05e41848f84e5ee1a476f55.png)
常用的shell命令
常用的shell命令 1、ls命令 功能:显示文件和目录的信息 ls 以默认方式显示当前目录文件列表 ls -a 显示所有文件包括隐藏文件 ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行 ls -lh 显示文件的…...
![](https://www.ngui.cc/images/no-images.jpg)
新手入门SLAM必备资料
新手入门SLAM必备资料 文章目录 新手入门SLAM必备资料一、SLAM学习书籍1.必读经典2.有很多期,跟着会议一起出的文集3.入门书籍,简单实现及代码4.SLAM入门教材吐血推荐,对深入理解SLAM实质非常有帮助5.作者Joan Sola关于Graph-SLAM的教程,包含位姿变换、传感器模型、图优化以…...
![](https://img-blog.csdnimg.cn/img_convert/3dfed8f7b12f7aaa262d5484fc62c53c.png)
如何选择和使用腾讯云服务器的方法新手教程
本文将介绍如何选择和使用腾讯云服务器的方法新手教程。云服务器能帮助快速构建更稳定、安全的应用,降低开发运维的难度和整体IT成本。腾讯云CVM云服务器提供多种类型的实例、操作系统和软件包。各实例中的 CPU、内存、硬盘和带宽可以灵活调整,以满足应用…...
![](https://img-blog.csdnimg.cn/3a07315cf116492cbd86b40293858896.png)
亚马逊云科技re:Invent:Serverless是所有构想的核心
12月2日,2022亚马逊云科技re:Invent全球大会上,Amazon.com副总裁兼首席技术官Werner Vogels博士向开发者们展示了另一种可能。在一系列Serverless工具的帮助下,一些代码可以少写,因为未来你可能再也不需要写它们了。这恐怕是自云原…...
![](https://img-blog.csdnimg.cn/4d05e74e6df64a7fad7446f6c007e175.png)
数据链路层(必备知识)
文章目录1、数据链路层的作用2、认识以太网<1>以太网帧格式<2>认识MAC地址<3>认识MTU<4>查看硬件地址和MTU3、ARP协议<1>什么是ARP协议<2>ARP数据报格式<3>ARP协议的工作机制4、其他重要协议或技术<1> DNS<2>NAT技术1、…...
![](https://img-blog.csdnimg.cn/1faae3025eed42e8be437ee196f55bca.png)
【Spring系列】- Spring循环依赖
Spring循环依赖 😄生命不息,写作不止 🔥 继续踏上学习之路,学之分享笔记 👊 总有一天我也能像各位大佬一样 🏆 一个有梦有戏的人 怒放吧德德 🌝分享学习心得,欢迎指正,大…...
![](https://img-blog.csdnimg.cn/d5fdb5067caf4935b98f5b690c90acda.png)
Python学习基础笔记二十一——迭代器
列表,我们使用for循环来取值,我们把每个值都取到,不需要关心每一个值的位置,因为只能顺序的取值,并不能跳过任何一个去取其他位置的值。那么我们为什么可以使用for循环来取值,for循环内部是怎么工作的呢&am…...
![](https://www.ngui.cc/images/no-images.jpg)
【云原生之Docker实战】使用docker部署IT资产管理系统GLPI
【云原生之Docker实战】使用docker部署IT资产管理系统GLPI 一、GLPI介绍1.GLPI简介2.GLPI功能二、检查本地docker环境1.检查docker版本2.检查docker状态三、下载GLPI镜像四、编辑docker-compose.yaml文件五、部署GLPI系统1.创建数据目录2.使用docker compose创建容器应用3.查看…...
![](https://www.ngui.cc/images/no-images.jpg)
【SSM框架 二】Spring
文章目录二、Spring1、简介2、IOC理论思想3、Hello Spring4、IOC创建对象的方式4.1 无参构造构造器注入4.2 有参构造器注入5、Spring的配置5.1 别名5.2 Bean的配置5.3 import6、DI依赖注入6.1 构造方法注入6.2 set方法注入6.3 扩展注入6.4、Bean的作用域7、Bean的自动装配7.1 正…...
![](https://img-blog.csdnimg.cn/1bc28584a3cf42c0b68e24e1adcf39c8.jpeg#pic_center)
基于java+ssm+vue+mysql的社区流浪猫狗救助网站
项目介绍 随着迅速的发展,宠物饲养也较以前发生很大的变化,社区流浪猫狗救助网站系统以其独有的优势脱颖而出。“社区流浪猫狗救助网站”是以JAVA程序设计语言课为基础的设计出适合社区流浪猫狗救助网站,其开发过程主要包括后台数据库的建立…...
![](https://img-blog.csdnimg.cn/img_convert/98c0a651cf27dff9b0ce30fcda75327e.jpeg)
推特营销引流入门指南
一、关注 当您关注另一个Twitter用户时,您进行订阅,即可立即阅读其内容分享。因此,请评估您关注的人,尤其是刚开始时。跟踪新用户的一种简单方法是找到他们的个人资料,然后单击“关注”按钮。 Twitter对于那些疯狂点…...
![](https://img-blog.csdnimg.cn/1fa24749d46f40b89751f458f262595d.png)
Seata概述基础
分布式事务原因: 单体架构的spring事务不能跨机器,不能跨数据源 分布式事务的概念: 一个业务流程,在分布式系统(微服务)中,每个业务模块都是一个分支,保证每个业务分支一起成功&am…...
![](https://img-blog.csdnimg.cn/5ce195e27d3a471b9205523730aff86a.png)
Python学习基础笔记二十二——生成器
一个包含yield关键字的函数就是一个生成器函数。yield可以为我们从函数中返回值,但是yield又不同于return,return的执行意味着程序的结束,调用生成器函数不会得到返回的具体的值,而是得到一个可迭代的对象。每一次获取这个可迭代对…...
![](https://img-blog.csdnimg.cn/50be4066fbf8411dba690706675198ea.png)
python -- PyQt5(designer)中文详细教程(四)事件和信号
事件 signals and slots也 被其他⼈翻译成信号和槽机制。 所有的应用都是事件驱动的。事件大部分都是由用户的行为产⽣的,当然也有其他的事件产生方式,比如网络的连接,窗口管理器或者定时器等。调⽤应⽤的exec_()⽅法时,应⽤会进⼊…...
![](https://www.ngui.cc/images/no-images.jpg)
你绝对想象不到的端对端通信的几种方式
一、前言 今天要和大家说的是我们常用的一些端对端的通信方式,这里我们会以python和php语言为主,举例说明客户端、浏览器端和服务器端通信,部分代码可能展示不全,不过我会放在文末链接供大家下载测试,下面我们先来让大…...
![](https://www.ngui.cc/images/no-images.jpg)
序列化--Serial
序列化:将数据结构或对象转换成二进制串的过程。 反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。 Parcelable 与 Serializeable 的区别 SerializableParcelable通过IO对硬盘操作,速度较慢直接在内存操作&#x…...
![](https://img-blog.csdnimg.cn/ec25af98e56442aabf8f59925d0a8a21.png)
BDD - SpecFlow ExternalData Plugin 导入外部测试数据
BDD - SpecFlow ExternalData Plugin 导入外部测试数据引言SpecFlow ExternalData 插件支持的数据源Tags实践创建一个 Class Libary Project添加 NuGet Packages添加测试数据源文件CSV 文件Excel 文件添加 Feature 文件实现 Step Definition执行Scenario 导入测试数据源Scenari…...
![](https://img-blog.csdnimg.cn/e32e5f205503482ebb264c2715548aa1.png)
[Power Query] 日期和时间处理
Power Query查询编辑器为日期和时间数据提供了强大而快捷的处理方式 例1: 从日期中提取年、月份、日、季度、周、天等信息 数据源 步骤1:将数据源导入到Power BI Desktop,单击【转换数据】选项,进入Power Query查询编辑器界面 步骤2:选中"日期&qu…...
![](https://www.ngui.cc/images/no-images.jpg)
设计模式之抽象工厂模式
利用反射技术简单梳理抽象工厂模式 工厂模式实现 通常我们在实际工作中,经常遇到需要访问数据库的场景。 而常见的数据库又多种多样,怎么样针对不同的数据库来建立不同的数据库连接呢? 我们可以看下用抽象工厂模式加上反射技术来如何实现。…...
![](https://img-blog.csdnimg.cn/79f33954468d4469b24c037da9ac5734.png)
JavaWeb_第5章_会话技术_Cookie+Session
JavaWeb_第5章_会话技术_CookieSession 文章目录JavaWeb_第5章_会话技术_CookieSession1,会话跟踪技术的概述2,Cookie2.1 Cookie的基本使用2.2 Cookie的原理分析2.3 Cookie的使用细节2.3.1 Cookie的存活时间2.3.2 Cookie存储中文3,Session3.1…...
![](https://www.ngui.cc/images/no-images.jpg)
奇瑞“放大招”,2.0T配自研8AT,1.6T搭8155
紧凑级轿车阵营里竞争一直都比较激烈,如今国产品牌车型逐渐占据上风,其中来自奇瑞的艾瑞泽8凭借较强的产品实力和较高的性价比,成为了紧凑级轿车中的佼佼者,去年开始月销量破万台今年价格战加剧,艾瑞泽8的销量略有下滑,5月份卖出了8507辆,位列紧凑级车型销量排行榜第13位…...
![](https://www.ngui.cc/images/no-images.jpg)
雪铁龙全新SUV上市!车身尺寸升级,内饰全面翻新,好看吗
雪铁龙全新C3 Aircross日前在海外市场正式上市,售价区间为19,400-27,400欧元,目前已开启新车订购工作。同时,新车也有望在后期引入国内市场销售,以进一步丰富雪铁龙在华产品序列,同级别主要竞争对手包含了本田XR-V、领克06、比亚迪元UP等车型。雪铁龙全新C3 Aircross车型车…...
![](https://www.ngui.cc/images/no-images.jpg)
2141.4km!星纪元ET全球上市,18.98万元起
5月9日,星纪元ET正式全球上市,共推出8个版型,分别为增程系列:Plus 18.98万元、Pro 20.58万元、Pro+22.58万元,以及纯电系列:Pro22.98万元、Pro四驱23.98万元、Pro城市智驾24.98万元、Max 27.98万元、Ultra 31.98万元。官方还同步公布置换礼、金融礼等多重上市权益豪礼,并将…...
![](https://img-blog.csdnimg.cn/direct/430845a279cd448e9df2cac4e402735c.png)
(文章复现)分布式电源接入配电网承载力评估方法研究
参考文献: [1]郝文斌,孟志高,张勇,等.新型电力系统下多分布式电源接入配电网承载力评估方法研究[J].电力系统保护与控制,2023,51(14):23-33. 1.摘要 随着光伏和风电等多种分布式电源的接入,使得传统配电网的结构及其运行状态发生了较大改变。因此&…...
![](https://img-blog.csdnimg.cn/img_convert/fe5091d04e150eb8c6bbebb4a9e09886.png)
快团团供货大团长如何打印电子面单?
一、功能说明 快团团打单平台是目前唯一一个服务于快团团团长的打单发货工具,免费提供给团长使用。可帮助团长快速打印面单、分拣包裹、完成发货。 目前快团团打单平台已支持大批量打印快递单、自定义快递面单、自动发货、绑定拼多多电子面单账号等功能,…...
![](https://www.ngui.cc/images/no-images.jpg)
计算机三级 网络技术
一、边界网关协议BGP BGP是边界网关协议,是外部而不是内部网关协议(是不同自治系统的路由器之间使用的协议)一个BGP发言人使用TCP(不是UDP)与其自治系统的BGP发言人交换路由信息。BGP协议交换路由由信息的节点数是以自…...