作者: 小港

  • docker中mysql关闭二进制日志

    docker中mysql关闭二进制日志

    1.创建my.cnf文件

    # 删除旧的 my.cnf 文件(如果存在)
    rm -f my.cnf
    
    # 创建新的 my.cnf 文件并写入内容
    echo -e "[mysqld]\nskip-log-bin" > my.cnf
    
    # 确保文件权限正确
    chmod 644 my.cnf

    2.将my.cnf映射出来

    services:
      mysql:
        image: mysql
        container_name: mysql
        restart: always
        ports:
          - "3306:3306"
        volumes:
          - ./mysql:/var/lib/mysql
          - ./my.cnf:/etc/mysql/my.cnf
        environment:
          MYSQL_ROOT_PASSWORD: xxxxxxx
          MYSQL_USER: xiaogang
          MYSQL_PASSWORD: xxxxxxx
    

    3.重新启动docker容器

    docker-compose down
    docker-compose up -d
    

    4.进入容器验证

    docker exec -it mysql mysql -u root -p

    然后输入密码进入mysql中

    5.验证

    SHOW BINARY LOGS;
    
    #结果:ERROR 1381 (HY000): You are not using binary logging
    
    SHOW VARIABLES LIKE 'log_bin';
    
    #结果:OFF
  • docker-compose:mysql+redis+phpmyadmin

    docker-compose:mysql+redis+phpmyadmin

    创建my.cnf文件

    # 删除旧的 my.cnf 文件(如果存在)
    rm -f my.cnf
    
    # 创建新的 my.cnf 文件并写入内容
    echo -e "[mysqld]\nskip-log-bin" > my.cnf
    
    # 确保文件权限正确
    chmod 644 my.cnf
    

    docker-compose.yml文件

    version: '3'
    services:
      mysql:
        image: mysql
        container_name: mysql
        restart: always
        ports:
          - "3306:3306"
        volumes:
          - ./mysql:/var/lib/mysql
          - ./my.cnf:/etc/mysql/my.cnf
        environment:
          MYSQL_ROOT_PASSWORD: root密码
          MYSQL_USER: xiaogang
          MYSQL_PASSWORD: 用户密码
    
      redis:
        image: redis:alpine
        container_name: redis
        restart: always
        ports:
          - "6379:6379"
        volumes:
          - ./redis:/data
    
      phpmyadmin:
        image: phpmyadmin:latest
        container_name: myadmin
        restart: always
        ports:
          - "13306:80"
        environment:
          PMA_ARBITRARY: 1

    运行容器

    docker-compse up -d

  • screen使用教程

    screen使用教程

    一、screen命令是什么?

    Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。

    二、如何安装screen命令?

    除部分精简的系统或者定制的系统大部分都安装了screen命令,如果没有安装,CentOS系统可以执行:yum install screen ;

    CentOS 8上移除了screen,需要安装epel后安装screen执行:yum install screen ;

    Debian/Ubuntu系统执行:apt-get install screen 。

    三、screen命令使用方法?

    1、常用的使用方法

    用来解决文章开始我们遇到的问题,比如在安装lnmp时。

    1.1 创建screen会话

    可以先执行:screen -S lnmp ,screen就会创建一个名字为lnmp的会话。 VPS侦探 https://www.vpser.net/

    1.2 暂时离开,保留screen会话中的任务或程序

    当需要临时离开时(会话中的程序不会关闭,仍在运行)可以用快捷键Ctrl+a d(即按住Ctrl,依次再按a,d)

    1.3 恢复screen会话

    当回来时可以再执行执行:screen -r lnmp 即可恢复到离开前创建的lnmp会话的工作界面。如果忘记了,或者当时没有指定会话名,可以执行:screen -ls screen会列出当前存在的会话列表,如下图:

    11791.lnmp即为刚才的screen创建的lnmp会话,目前已经暂时退出了lnmp会话,所以状态为Detached,当使用screen -r lnmp后状态就会变为Attached,11791是这个screen的会话的进程ID,恢复会话时也可以使用:screen -r 11791

    1.4 关闭screen的会话

    执行:exit ,会提示:[screen is terminating],表示已经成功退出screen会话。VPS侦探 https://www.vpser.net/

    2、远程演示

    首先演示者先在服务器上执行 screen -S test 创建一个screen会话,观众可以链接到远程服务器上执行screen -x test 观众屏幕上就会出现和演示者同步。

    3、常用快捷键

    Ctrl+a c :在当前screen会话中创建窗口
    Ctrl+a w :窗口列表
    Ctrl+a n :下一个窗口
    Ctrl+a p :上一个窗口
    Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换

    出处:VPS侦探 本文链接地址:https://www.vpser.net/manage/screen.html

  • 宝塔和XUI共存方案

    宝塔和XUI共存方案

    x-ui是一个搭建节点的工具,有一键安装脚本,可以快速的部署。但是如果我们经济有限的话,这个服务器不仅要有x-ui还要有自己搭建的网站。这就得用我的这种搭建过程了。

    第一步:安装宝塔

    首先要将宝塔安装上,这就不用多说了,自己去网站找到适合自己系统的安装脚本就Ok了。

    第二步:创建站点

    新建一个静态站点并且为网站配置ssl,这个域名是为了以后x-ui面板伪装配置的。

    第三步:安装X-UI

    这里直接一键脚本安装,没什么难度

    bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)

    第四步:登录X- UI修改后台目录

    第五步:设置宝塔反代

        location ^~ /main/ { #(修改为你的xui管理面板路径)
            proxy_pass http://127.0.0.1:54321/HJgj/; #(修改为你的xui管理面板端口和路径)
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location /jgvgk { #(修改为你的ws传输协议路径)
            proxy_redirect off;
            proxy_pass http://127.0.0.1:12896; #(修改为你的协议端口)
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $http_host;
            proxy_read_timeout 300s;
           # Show realip in v2ray access.log
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

    设置完就可以通过域名:端口号\main\访问了。

  • Debian12/11/10,如何启用或关闭 BBR

    Debian12/11/10,如何启用或关闭 BBR

    什么是 BBR

    BBR 是 Google 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。

    BBR解决了两个问题:

    • 再有一定丢包率的网络链路上充分利用带宽,非常适合高延迟,高带宽的网络链路。
    • 降低网络链路上的 buffer 占用率,从而降低延迟,非常适合慢速接入网络的用户。

    互联网曾广泛使用基于丢包的拥塞控制算法,例如 Reno(Jac88,Jac90,WS95 ,RFC5681)和 CUBIC(HRX08,draft-ietf-tcpm-cubic),这类算法认为丢包和拥塞是等效的。长久以来这类算法都运作的很好,但这并不能说明他们是绝对正确的,这种良好的表现是由于网络交换机和路由器的缓冲区都十分适配当时的网络带宽。而一旦发送者的发送速率足够快,缓冲区便会被快速填满,进而引发丢包。

    实际上丢包并不等效于拥塞。拥塞可以被看作是一种在网络路径中,传输中的数据量始终大于带宽-时延积的场景。随着互联网的不断发展,丢包现象在非拥塞场景下也频繁发生。而基于丢包的拥塞控制策略给网络带来了源源不断的问题:

    1. 浅缓存:在浅缓存场景下,丢包往往发生在拥塞之前。高速、长距离的现代网络,搭配上消费级的浅缓存交换机,基于丢包的拥塞控制算法可能会导致极其糟糕的吞吐量,而这种现象则归咎于这类算法对于丢包的过激反应。流量突发引起的丢包会使发送速率乘性递减(这种丢包现象在空闲网络中也会频繁发生)。这种动态特性,使得基于丢包的拥塞控制算法在实际应用中很难对网络带宽进行充分利用:维持10Gbps/100ms RTT的网络,必须要求其丢包率在0.000003%以下。而更为实际的1%的丢包率,则会导致其只能维持在3Mbps/100ms(无论是瓶颈带宽的性能如何)。
    2. 深缓存:在有着深缓存的瓶颈链路中,拥塞往往发送在丢包之前。在现今的的边缘网络中,基于丢包的拥塞控制算法对众多最后几英里的设备,进行了深缓存的反复填充,引发了不必要的数秒级的排队延时,也就是“缓冲膨胀”的问题。

    BBR拥塞控制算法使用了另类的方式,不用丢包去衡量拥塞是否发生,而是直接对网络建模来避免以及应对真实的拥塞(它使用网络测量来估计带宽和丢包率。它计算可以通过网络发送数据而不会导致拥塞或数据包丢失的最大速率。BBR 通过跟踪网络的往返时间 (RTT) 和在任何给定时间传输的数据量来实现这一点)。

    为什么使用 BBR

    BBR 可以通过减少数据包丢失和增加吞吐量来显著提高网络的速度和可靠性,BBR 非常适合需要高吞吐量和低延迟的应用程序。

    在 Debian 上启用 BBR 是一个非常简单的过程,我们仅需几步即可,建议使用 Debian 的伙伴都启用以下 BBR。

    如何启用 BBR

    本教程基于 Debian12,理论上 Debian10、11也同样适用,其他版本的 Debian 需要自行判断。

    我们先来输入如下命令检查一下你运行的系统是否支持 BBR,输入后如果界面没有任何输出则表示你的系统当前支持 BBR,如显示其它错误信息则表示不支持,理论上来说内核版本高于4.9就支持使用 BBR,如果低于4.9可以自行升级内核版本。

    sudo modprobe tcp_bbr

    如果你的系统支持 BBR,可以输入以下命令来查看当前是否已经启用了 BBR。

    sudo sysctl net.ipv4.tcp_congestion_control

    如果已经启用,界面会输出如下提示,无输出则表示未启用。

    net.ipv4.tcp_congestion_control = bbr

    如果未启用且支持 BBR,请输入如下命令,下面的命令会将默认排队规则设置为 fq 并启用 BBR 作为拥塞控制算法。

    sudo sh -c 'echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf' sudo sh -c 'echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf'

    接着输入以下命令使其保存并生效。

    sudo sysctl -p

    至此,Debian 已经启用 BBR,为验证 BBR 是否启用成功,我们可以使用下面的验证命令。

    sudo sysctl net.ipv4.tcp_congestion_control

    或者

    lsmod | grep bbr

    界面输出下面几种提示皆表示已启用 BBR。

    net.ipv4.tcp_congestion_control = bbr net.ipv4.tcp_available_congestion_control = bbr cubic reno net.ipv4.tcp_available_congestion_control = reno cubic bbr tcp_bbr   20480   1

    如何关闭 BBR

    编辑 /etc/sysctl.conf 文件,将 net.core.default_qdisc = fq 以及 net.ipv4.tcp_congestion_control = bbr 这两行使用 # 号注释掉,然后执行如下命令。

    sudo sysctl -p

    最后重启一下服务器。

  • 使用iperf3使用进行测速本机和vps之间传输速度

    使用iperf3使用进行测速本机和vps之间传输速度

    介绍

    iperf3是测速、打流用的一款软件,可以测两点之间的网速,测试本地网卡的带宽,等等,有的朋友可能也用过,不多说了。

    服务器端安装方法

    debian系统可以直接使用apt进行安装

    apt install iperf3

    本机安装

    我这里是Mac系统,直接使用brew进行安装,如果没有安装brew先安装

    安装brew后运行brew install iperf3安装

    开始测速

    小鸡采用服务器模式

    iperf3 -s

    本地采用客户端模式

    iperf3 -c x.x.x.x -t 30 -P 10 -R

    -c:指定地址
    -t:测试多少秒,不加-t参数默认10秒
    -P:指定线程数(数值越大越接近真实带宽)
    -R:测试下载,不加-R参数是测试上传

  • Debian关闭IPv6的方法

    Debian关闭IPv6的方法

    尽管IPv6是互联网的新基石,有着数量多的优势,但是目前很多时候IPv6的支持并不完整,有时候会因为IPv6遇到一些奇奇怪怪的兼容性问题。于是就需要关闭IPv6而强制使用IPv4进行互联网连接。
    现给出两个方法,本质上都是通过改写sysctl实现的,第一种是在sysctl.d中新加入配置文件,第二中是直接修改sysctl.conf配置文件,推荐使用第一种从而避免误操作影响其他配置文件。

    方法一:在sysctl.d中新加入配置文件

    /etc/sysctl.d/文件夹中新建disable-ipv6.conf,并写入配置

    cd /etc/sysctl.d/
    touch disable-ipv6.conf
    echo net.ipv6.conf.all.disable_ipv6=1 > disable-ipv6.conf

    使用以下命令运行配置文件

    sysctl -p -f /etc/sysctl.d/disable-ipv6.conf

    如果使用ip a命令,在输出中没有发现IPv6地址,则说明成功关闭了IPv6功能。

    方法二:直接修改sysctl.conf配置文件

    打开/etc/sysctl.conf,在Uncomment the next line to enable packet forwarding for IPv6前一行添加以下三行内容:

    net.ipv6.conf.all.disable_ipv6=1net.ipv6.conf.default.disable_ipv6=1net.ipv6.conf.lo.disable_ipv6=1net.ipv6.conf.ens3.disable_ipv6 = 1

    注意ens3这个,由于每个设备的网卡名字都有可能不同,需要使用ip a命令查找一下具体的名称以替换掉ens3
    使用以下命令运行配置文件:

    sysctl -p

    如果使用ip a命令,在输出中没有发现IPv6地址,则说明成功关闭了IPv6功能。

  • 被《晚婚》洗脑的两天

    无意间又在小破站听到了教唱歌的唱这首歌

    获取找到李宗盛4k现场版本,而后一发不可收拾,连续两天时不时哼哼,最终还是K歌一把~

  • 混音理念

    关于平衡

    • 电平平衡(根据歌曲风格 进行电平平衡 地基-重要)
    • 频率平衡(频率避让 防止遮盖)
    • 空间平衡
      1.音色和演奏方式类似的乐器可以对称摆
      2.在歌曲中承担同样功能的乐器可以对称摆

    根据功能决定声音距离的远近
    支撑性质的做近 比如(鼓)
    其他的可能要远一点 比如(铃铛)

    鼓组

    常见鼓组以听众视角

    1通鼓 右
    2通 左大概对称
    3通 大概左 不用完全100 80也可以

    踩叉大概和 3通对称 不用完全一致,混音不是搞科研

    叮叮叉 在2通和3通之间 ,比如我2通在左边40 3通80 那叮叮叉就放到60左右

    弦乐

    一般从左到右 一提 二提 中提 大提 低音提一般流行歌没有

    中间留给 人声 鼓 这些重要的

    和声

    分声部的话

    高声部 摆在最外侧 参考值:100
    中声部 靠里一点 参考值:60-70
    底声部 摆靠里 参考值:40-50

    插缝乐器

    比如小号 走旋律线,没有和他对称的乐器的时候,摆20多点就行,不抢人声就可以了

    solo吉他

    • 一种正中间
    • 一种偏一点点(比如刚刚小号偏左20,结束了solo吉他出现摆个右20,也算是一种平衡)