分类 Linux 下的文章

Mysql出现的问题_1:表丢失报 is marked as crashed and should be repaired


问题

早上到公司同时说数据库的表丢了,上去一看确实丢了,由于断过一次电,怀疑断电导致的,但是一想想断电出现的问题就不止只丢失一个表的事啊,先看一下日志和同时反馈的问题。
同时直接给我发了这样的一条消息:
Table './we7_71yunduan_to/ims_mc_members' is marked as crashed and should be repaired
那就检查一下这个表具体的问题!

解决方法

  • mysql> use we7_71yunduan_to
  • Database changed
  • mysql> check table ims_mc_members
  • -> ;
  • +---------------------------------+-------+----------+----------------------------------------------------------------+
  • | Table | Op | Msg_type | Msg_text |
  • +---------------------------------+-------+----------+----------------------------------------------------------------+
  • | we7_71yunduan_to.ims_mc_members | check | warning | Table is marked as crashed |
  • | we7_71yunduan_to.ims_mc_members | check | warning | 1 client is using or hasn't closed the table properly |
  • | we7_71yunduan_to.ims_mc_members | check | error | Found key at page 26624 that points to record outside datafile |
  • | we7_71yunduan_to.ims_mc_members | check | error | Corrupt |
  • +---------------------------------+-------+----------+----------------------------------------------------------------+
  • 4 rows in set (0.04 sec)
  • mysql> repair table ims_mc_members
  • -> ;
  • +---------------------------------+--------+----------+----------------------------------------------+
  • | Table | Op | Msg_type | Msg_text |
  • +---------------------------------+--------+----------+----------------------------------------------+
  • | we7_71yunduan_to.ims_mc_members | repair | info | Wrong bytesec: 0- 0- 0 at 70372; Skipped |
  • | we7_71yunduan_to.ims_mc_members | repair | warning | Number of rows changed from 243 to 242 |
  • | we7_71yunduan_to.ims_mc_members | repair | status | OK |
  • +---------------------------------+--------+----------+----------------------------------------------+
  • 3 rows in set (0.11 sec)
  • mysql> check table ims_mc_members;
  • +---------------------------------+-------+----------+----------+
  • | Table | Op | Msg_type | Msg_text |
  • +---------------------------------+-------+----------+----------+
  • | we7_71yunduan_to.ims_mc_members | check | status | OK |
  • +---------------------------------+-------+----------+----------+
  • 1 row in set (0.00 sec)
  • mysql>

在处理过程发现表有两个警告和两个错误:表崩了,表被占着或关的姿势不对。。。。
处理方法就是repair table ims_mc_members
最后再检查一下问题结局


云挂载数据盘


查看数据盘挂载情况

  • df -h

微信截图_20200921140533.png

查看磁盘分区

  • fdisk -l

微信截图_20200921140711.png
对比Disk /dev/vda,vda下面有一个Device /dev/vda1,vdb少了一个Device。
说明数据盘是有的,只不过现在没有分区,还无法使用,所以接下来我们就要对它进行分区。

格式化分区

  • mkfs.ext4 /dev/vdb

1327694-20200408131711757-88232885.png

添加分区信息和自动挂载

  • mkdir -p /datab
  • echo '/dev/vdb /datab ext4 barrier=0 0 0' >> /etc/fstab
  • cat /etc/fstab #查看是否写入成功

微信截图_20200921141033.png

挂载

  • mount -a
  • df -h

微信截图_20200921141142.png


Superbench.sh:一键脚本测试 VPS 性能


使用这个脚本,可以一键测试搬瓦工 VPS 各种性能,包括 VPS 基本信息,硬盘读写速度,到国内各个地区的下载速度等。与 bench.sh 相比,这个脚本主要是在测速方面做了改动。

一、Superbench.sh 使用方法

使用方法:

  • wget -qO- http://tool.bug-maker.com/superbench/superbench_git.sh | bash

或者线上的版本

  • wget -qO- sb.oldking.net | bash

测试结果如下所示:

微信截图_20200918111246.png


FRP内网穿透


前言

政府就是政府,网络安全要做到第一位,分配的服务器都要在堡垒机之下才能访问,所以得想招给代理出来,也给自己方便不是。
既然要反代理,就选的FRP,开源。。。。(不花钱)

FRP服务器搭建

下载对应版本的frp(包括服务端和客户端):大型同性交友网站

window客户端+服务端Linux客户端+服务端arm客户端+服务端
0.51.3frp_0.51.3_windows_amd64.zipfrp_0.51.3_linux_amd64.tar.gzfrp_0.51.3_linux_arm64.tar.gz
0.38.0frp_0.38.0_windows_amd64.zipfrp_0.38.0_linux_arm64.tar.gz

具体服务端配置文件信息frps.ini:

  • [common]
  • bind_port = 7000
  • #dashboard 用户名
  • dashboard_user = user1
  • #dashboard 密码
  • dashboard_pwd = user1
  • #dashboard 端口,启动成功后可通过浏览器访问如http://ip:7500
  • dashboard_port = 7500
  • token = 8d262f2b-6dba-4a8d-857e-8a53d1d439e2

运行服务端至后台

  • [root@w7 frp_0.33.0_linux_amd64]# nohup /root/frp/frp_0.33.0_linux_amd64/frps -c frps.ini &
  • 2020/06/09 22:28:59 [I] [service.go:178] frps tcp listen on 0.0.0.0:7000
  • 2020/06/09 22:28:59 [I] [service.go:277] Dashboard listen on 0.0.0.0:7500
  • 2020/06/09 22:28:59 [I] [root.go:209] start frps success

运行之后可访问http://IP:7500
微信截图_20200609223912.png

FRP客户端(linux)

具体的客户端配置文件信息:

  • [common]
  • # 配置服务端对外的ip地址
  • server_addr = xxx.xxx.xxx.xxx
  • #配置服务端监听的端口
  • server_port = 7088
  • #如果服务端配置token,将服务端配置的token复制到此处
  • token = 8d262f2b-6dba-4a8d-857e-8a53d1d439e2
  • pool_count = 5
  • [ssh]
  • type = tcp
  • local_ip = 127.0.0.1
  • local_port = 22
  • remote_port = 7122
  • [ftp]
  • type = tcp
  • local_ip = 127.0.0.1
  • local_port = 21
  • remote_port = 7121

运行客户端端至后台

  • [root@localhost frp_0.33.0_linux_amd64]# nohup /root/frp/frp_0.33.0_linux_amd64/frpc -c frpc.ini &
  • [1] 26153
  • [root@localhost frp_0.33.0_linux_amd64]# nohup: 忽略输入并把输出追加到'nohup.out'
  • [root@localhost frp_0.33.0_linux_amd64]# ls
  • frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE nohup.out systemd
  • [root@localhost frp_0.33.0_linux_amd64]# cat nohup.out
  • 2020/06/09 10:55:56 [I] [service.go:282] [0d80fe0bb829cc87] login to server success, get run id [0d80fe0bb829cc87], server udp port [0]
  • 2020/06/09 10:55:56 [I] [proxy_manager.go:144] [0d80fe0bb829cc87] proxy added: [ssh ftp]
  • 2020/06/09 10:55:56 [I] [control.go:179] [0d80fe0bb829cc87] [ssh] start proxy success
  • 2020/06/09 10:55:56 [I] [control.go:179] [0d80fe0bb829cc87] [ftp] start proxy success

linux systemctl方式进程守护

/etc/systemd/system下新建frpc.service文件,内容如下:

  • [Unit]
  • Description=Frp client
  • After=network.target
  • [Service]
  • Type=simple
  • User=root
  • Restart=on-failure
  • RestartSec=5s
  • ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.ini
  • [Install]
  • WantedBy=multi-user.target

FRP客户端(window)

具体的客户端配置文件信息:

  • [common]
  • # 配置服务端对外的ip地址
  • server_addr = xxx.xxx.xxx.xxx
  • #配置服务端监听的端口
  • server_port = 7088
  • #如果服务端配置token,将服务端配置的token复制到此处
  • token = 8d262f2b-6dba-4a8d-857e-8a53d1d439e2
  • pool_count = 5
  • [mstsc]
  • type = tcp
  • local_ip = 127.0.0.1
  • local_port = 3389
  • remote_port = 7133

创建一个文件run.vbs

  • Set ws = CreateObject("Wscript.Shell")
  • ws.run "cmd /c C:\frp_0.33.0_windows_amd64\frpc.exe -c C:\frp_0.33.0_windows_amd64\frpc.ini",vbhide (这里注意要改为你的文件位置)

运行以下vbs文件就可以了

这样就大功告成,访问服务端的7122就相当于访问内网被隔离的机器22端口