Joyber 发布的文章

netplan命令和/etc/netplan/*.yaml配置文件
在老版的Ubuntu中,是通过/etc/network/interfaces文件进行静态IP地址的配置,通过/etc/resolv.conf进行DNS设置。Netplan 网络配置从 Ubuntu 18.04 开始首次引入,在新版的Ubuntu中,通过/etc/netplan/目录下的yaml文件进行IP和DNS配置。打开该目录下的配置文件如下:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
     dhcp4: false
     addresses: 
        - 192.168.31.2/24
     gateway4: 192.168.31.1
     nameservers:
       addresses: 
        - 114.114.114.114

这是ubuntu服务器版本的配置方法,如果是桌面版,可以使用可视化的NetworkManager来接管网络,则该配置文件的renderer字段可设置为:NetworkManager,后面的部分都删除。当然,桌面版也可以按照上文示例设置,而不使用NetworkManager。
该配置文件的书写格式上有几点需要注意:

ethernets中的网卡名可以通过ip link指令查看,此处的ens33是本人虚拟机的网卡,替换为你自己的。
使用类似于python代码缩进的方式组织代码块。
缩进一级至少为两个空格,且前后一致。
gateway4字段的ip地址不用中括号(只有一个)。
本机addresses字段和域名服务器addresses字段都需要中括号,多个ip之间使用逗号分隔。
配置完成后,需要执行sudo netplan apply使配置生效。

再看另一个示例:

root@Ubuntu20.04:~# cat /etc/netplan/99-eth0.yaml 
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
      match:
        macaddress: 00:16:3e:00:08:54
      addresses: 
         - 10.180.43.126/24
      gateway4: 10.180.43.1
      nameservers:
         addresses: 
             - 114.114.114.114
      mtu: 1360
      routes:
        - to: 0.0.0.0/0
          via: 10.180.47.253
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens32:
      dhcp4: yes
    ens34:
      addresses:
        - 20.0.10.1/20
      dhcp4: no
      optional: true
      gateway4: 20.0.0.1
      nameservers:
        addresses:
          - 20.0.0.1

参考内容:https://www.360blogs.top/ubuntu20-04-netplan/

#查看已连接的硬盘
fdisk -l

#进入硬盘分区工具,进行分区设置
fdisk /dev/sdd
#如果是2TB以上硬盘,没用使用GUID分区表的话,会有黄色的警告信息
#查看帮助菜单
m

#创建GUID分区表,在w保存的时候,原有的分区表将移除
g
#保存并退出
w

#重进入分区工具,创建硬盘分区
fdisk /dev/sdd

#新建分区
n

#一路回车之后,保存退出
w

#查看硬盘分区,可以看到 /dev/sdd1 分区了
fdisk /dev/sdd -l

#格式化分区为ext4文件系统
mkfs.ext4 /dev/sdd1

#创建目录并挂载分区到/data目录
mkdir /data
mount /dev/sdd1 /data

#查看已挂载分区信息
df -h

#现在挂载的分区在系统重启后就没有挂载了,需要保存到/etc/fstab文件中,增加一行
vim /etc/fstab

#增加一行内容
/dev/sdd1       /data   ext4    defaults        0       1:

wget

命令:nohup wget -c -t 0 "备份文件下载地址" -O 下载的目标路径及文件名 > 下载输出日志到对应文件 &
示例:nohup wget -c -t 0 "https://example.aliyundoc.com/examplebackup.qp.xb" -O /backup/examplebackup.qp.xb > /tmp/download.log &
各命令代表含义如下:
-t 0:无限重试。
-c:支持断点续传。
-O:下载的目标路径及文件名。
nohup:避免因手误执行复制操作或者终端断开连接,把正在进行的下载中断,且当下载完毕后,之前的进程将会自动退出。

curl

命令:nohup curl -C - --retry 10 "备份文件下载地址" -o 自定义文件名 > 下载输出日志到对应文件 &
示例:nohup curl -C --retry 10 "https://example.aliyundoc.com/examplebackup.qp.xb" -o backup.qp.xb > /tmp/download.log &
各命令代表含义如下:
--retry 10:任务失败时的重试次数,以上示例表示重试10次。
-C -:支持自动断点续传。
-o:下载的目标路径及文件名。
nohup:避免因手误执行复制操作或者终端断开连接,把正在进行的下载中断,且当下载完毕后,之前的进程将会自动退出。

解压备份文件后拿到 frm 以及 ibd 文件(INNODB),在本地测试数据库服务器中创建一个数据库。
创建一个和源表结构一模板的表,然后在MYSQL执行以下SQL操作

自复制.ibd文件以来,该表一定不能删除或截断,因为这样做会更改存储在表空间中的表ID。
移除表空间,执行后原ibd文件会消失:

ALTER TABLE tbl_name DISCARD TABLESPACE;

然后将备份的.ibd文件复制到原存在idb这个数据文件的地方,再执行恢复表空间
发出以下ALTER TABLE语句,告诉InnoDB您将新 .ibd文件用于表:

ALTER TABLE tbl_name IMPORT TABLESPACE;

如果在执行以上命令报错:

Tablespace is missing for a table

检查文件权限是否正确,MYSQL进程无法读取该ibd文件,调整好权限再试一次