404E Blog

第 4 页

记录一次MySQL遇到的问题

排障复盘

昨天自己的家里云突然死机,重启之后MySQL启动不了

经过半天的百度,无论怎么设置权限,结果都是Permission denied

最终重装mysql解决

首先备份mysql文件(包括数据文件夹),之后删除原有mysql用户及存放mysql的mysql用户家目录

重新创建mysql用户,下载并初始化mysql

初始化完成后停止mysql服务,将新的mysql的数据文件夹重命名,然后将之前备份的数据文件夹复制过来,复制完成后重新启动mysql服务

完成

Mirai设置设备信息

编程笔记

本教程对应的是V2的设备信息,若你在 device.json 中看到 "deviceInfoVersion": 2 ,那么你用的就是V2的设备信息

下面是一份默认的"随机"生成的设备信息,可以很明显的看出,这是一个野生的机器人

json
{
  "deviceInfoVersion": 2,
  "data": {
    "display": "MIRAI.524848.001",
    "product": "mirai",
    "device": "mirai",
    "board": "mirai",
    "brand": "mamoe",
    "model": "mirai",
    "bootloader": "unknown",
    "fingerprint": "mamoe/mirai/mirai:10/MIRAI.200122.001/7868854:user/release-keys",
    "bootId": "16FD34B2-AD5D-469D-8535-C6C6859DB3DB",
    "procVersion": "Linux version 3.0.31-7nHaGuio ([email protected])",
    "baseBand": "",
    "version": {
      "incremental": "5891938",
      "release": "10",
      "codename": "REL"
    },
    "simInfo": "T-Mobile",
    "osType": "android",
    "macAddress": "02:00:00:00:00:00",
    "wifiBSSID": "02:00:00:00:00:00",
    "wifiSSID": "<unknown ssid>",
    "imsiMd5": "947794dd7c61f984994e89de00b2ba75",
    "imei": "950450581801049",
    "apn": "wifi"
  }
}

如果不知道对应的参数表示什么,编也编不出来。所以我直接不编,拿个旧手机用旧手机的设备信息

设置adb环境

首先需要adb,下载地址:https://dl.google.com/android/repository/platform-tools-latest-windows.zip

下载之后解压,完成之后应该是如图的样式

然后打开cmd

  1. 在adb的文件夹中(这个文件夹中必须包含adb.exe)按住shift然后右键空白处(不要点文件)
  2. 点击 在此处打开 powershell 窗口
  3. 在窗口中输入cmd

连接设备(手机平板均可)

这里我用旧平板做演示

启用开发者选项和USB调试

连接并开启USB调试

使用adb获取设备信息

此时我们已经成功将设备连接至pc

下面的表格是每个信息的获取指令,使用方式如图

因为设备制造厂商不同,以下内容可能会有不同的,可以使用 adb shell getprop 获取所有属性,然后自行寻找对应的属性

信息

对应指令

display

adb shell getprop ro.build.id

product

adb shell getprop ro.build.product

device

adb shell getprop ro.vendor.product.device

board

adb shell getprop ro.product.board

brand

adb shell getprop ro.product.brand

model

adb shell getprop ro.product.model

fingerprint

adb shell getprop ro.vendor.build.fingerprint

procVersion

adb shell getprop cat /proc/version

除了表格中的内容,还有一些内容可以自己编的

macAddress:按照原有个格式,将里面的数字和字母替换(可用字符 0123456789abcdef)

wifiBSSID:同上,乱写就可以

wifiSSID:写WIFI名字,也可以乱写一个

到此设备信息就编好了

win10部署MySql5.7并修改密码

运维部署

下载

https://downloads.mysql.com/archives/community/

下载完成后解压到自己想安装到的文件夹

这里我使用的是 D:\app\MySql

配置

在此文件夹下新建 my.ini 文件

这里贴出我的配置文件

ini
[mysqld]
port=3306
basedir=D:/app/MySql
datadir=D:/appData/MySql
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8

详细解释见中文文档 https://www.mysqlzh.com/doc/13/78.html

设置Path

  1. 此电脑右键 属性
  2. 点击 高级系统设置
  3. 点击 环境变量
  4. 在系统变量中找到Path
  5. 点击编辑
  6. 点击右侧的新建
  7. 输入 D:\app\MySql\bin (这里写自己的安装位置\bin)
  8. 一路确定退出

初始化

  1. win + R 打开运行
  2. 在运行中输入 cmd 并回车
  3. 在cmd中进入mysql文件夹
batch
# 进入mysql文件夹的bin目录
d:
cd app\MySql\bin

# 安装
mysqld install

# 初始化数据文件夹
mysqld --initialize --console
# 执行完成后会给出初始密码(看起来像乱码的那串字符串), 记下来, 后面登录需要用

# 启动
net start mysql

进入MySql

在cmd中输入 mysql -u root -p

根据提示输入密码(上面初始化的时候给你的密码)

输入密码 输入密码 登录完成 登录完成

修改密码

sql
-- 选择数据库
use mysql;
-- 更新密码
update user set authentication_string=password('新密码') where user='root' and Host='localhost';
-- 刷新权限
flush privileges;

use mysql; 失败报错则使用

sql
-- 修改密码
alter user user() identified by '密码';
-- 退出重进
exit

Maven设置阿里云镜像源

开发工具

win: C:\Users\用户名\.m2

linux: /home/用户名/.m2

正常情况下在此文件夹下会有

  1. repository:存放下载的依赖
  2. settings.xml:maven的配置

此处的settings.xml就是需要设置的文件,若没有可自行新建

下面贴出我的设置

xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                          https://maven.apache.org/xsd/settings-1.0.0.xsd">
  	<!-- 设置储存库位置 -->
    <localRepository>D:/.m2/repository</localRepository>
    <!-- 设置下载源 -->
  	<mirrors>
      	<!-- 阿里云 -->
		<mirror>  
			<id>nexus-aliyun</id>  
			<mirrorOf>central</mirrorOf>    
			<name>Nexus aliyun</name>  
			<url>http://maven.aliyun.com/nexus/content/groups/public</url>  
		</mirror>
		<!-- 默认仓库 -->
		<mirror>
			<id>repo1</id>
			<mirrorOf>central</mirrorOf>
			<name>Human Readable Name for this Mirror.</name>
			<url>http://repo1.maven.org/maven2/</url>
		</mirror>
		<mirror>
			<id>repo2</id>
			<mirrorOf>central</mirrorOf>
			<name>Human Readable Name for this Mirror.</name>
			<url>http://repo2.maven.org/maven2/</url>
		</mirror>
	</mirrors>
</settings>

Linux环境变量设置完没有改变

系统笔记

我自己的服务器用的是Centos7, 最近设置环境变量的时候发现设置完source之后PATH居然没有变化

bash
# 修改环境变量(我是写在文件最前面的)
vim /etc/profile

刷新环境变量

bash
source /etc/profile

然后在profile里面设置完环境变量的地方echo了一下, 发现输出的PATH是正确的

经过排查之后发现

/etc/profile.d 里面有一个 mysql.sh

bash
PATH=/usr/local/src/openJDK/bin:/usr/local/src/node/bin:/home/mysql/mysql/bin:/usr/local/src/ffmpeg:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/home/mysql/mysql/bin

怪不得PATH总是改完没反应

这里将它重命名为 mysql.sh.bak , 再source刷新之后, PATH就正确了

Linux设置ssh并通过ssh密钥登陆

运维部署

进入 .ssh

bash
# 进入 .ssh 文件夹
cd ~/.ssh

处理旧密钥

bash
# 处理旧的密钥文件
mv id_rsa id_rsa.bak
mv id_rsa.pub id_rsa.pub.bak

创建密钥

bash
# 输入后按3次回车
ssh-keygen -t rsa

公钥写入到文件

bash
# 将公钥写入authorized_keys
cat id_rsa.pub >> authorized_keys

问题

若出现问题无法登陆,则检查日志 /var/log/secure

写入公钥后无法登陆

Authentication refused: bad ownership or modes for file /root/.ssh/authorized_keys

原因:

sshd 为了安全,对属主的目录和文件权限有所要求。如果权限不对,则 ssh 的免密码登陆不生效

用户目录权限为 755 或者 700,就是不能是 77x

.ssh 目录权限一般为 755 或者 700

rsa_id.pub 及 authorized_keys 权限一般为 644

rsa_id 权限必须为 600

bash
# 设置权限(权限错误会无法登陆)
cd ~/.ssh
chmod 644 authorized_keys id_rsa.pub && chmod 600 id_rsa && chmod 700 .

Idea安装&白嫖JetBrain软件方法

开发工具

这里以IDEA为例,JetBrain的软件都可以使用此方法白嫖

下载

官网下载

https://www.jetbrains.com/idea/download/#section=windows

安装

其实不需要改什么设置,这里我只改了安装路径

很多新手在意的,但其实这里什么都不点也没事 很多新手在意的,但其实这里什么都不点也没事

激活

获取激活工具

首先访问**https://jetbra.in/s**获取软件

打开后从所有可用页面中选择任意一个能够访问的, 打开后是如下界面

点击jetbra.zip下载软件

下载并解压到新目录(目录路径中不要有中文字符)

安装

点击脚本安装(安装需要一段时间)

添加javaagent

安装完成后打开idea安装目录(默认在C:\Program Files\JetBrains\IntelliJ IDEA 202x.x.1\bin)

选中文件idea64.exe.vmoptions右键编辑, 在最后一行添加如下内容

此处我将jetbra直接解压在c盘, 所以路径是C:/jetbra/ja-netfilter.jar. 若你安装在D盘的App目录下, 则需要使用D:/App/jetbra/ja-netfilter.jar

添加完成后打开之前的网站, 选择你要激活的软件(比如idea / pycharm), 点击下面的按钮复制激活码(若点击后没有复制,请在之前的步骤中选择别的镜像网站)

将激活码复制到软件中点击激活

最后

享受专业版的IDEA

此方法适用于JetBrain家的所有软件, 截至2023.3.24最后一次更新, 此激活工具都是可以正常使用的

补充

若激活一直失败可以参考https://www.cnblogs.com/airlongdianblog/p/18418285

网易云极速版

系统笔记

现在网易云的功能太过臃肿,有一堆不需要的功能(你说你一个听歌软件搞那么花里胡哨干啥)

最近我发现了一个网易云极速版,小巧不吃内存,无广告无推送,功能精简。

下载地址

https://pan.lanzoui.com/b0405yclc

参考自:胡萝卜周的微信公众号

后记:已经无法登录了😭