WSL2设置运行级别

sudo bash -c “echo ‘[1] [00053] [~~ ] [runlevel] [~ ] [5.4.91-microsoft-standard-WSL2] [0.0.0.0 ] [2021-04-05T23:10:15,040218+00:00]’ | utmpdump -r > /var/run/utmp” 2> /dev/null

红色字体运行 uname -a 查看

此方案只是消除提示对系统没有任何修正

WSL2中设置自启服务及IP映射

  1. 子系统中编写启动服务脚本

    sudo vim /etc/init.wsl
    例如:
    #! /bin/sh
    # 设置启动服务
    #! /bin/sh
    NUM=`ps -aux | grep mysqld | wc -l`; if [ $NUM -eq 1 ];then service mysql start; fi
    NUM=`ps -aux | grep postgresql | wc -l`; if [ $NUM -eq 1 ];then service postgresql start; fi
    echo ‘ok’

  2. 设置脚本执行权限

    sudo chmod +x /etc/init.wsl

  3. windows中设置(新建wsl2.bat,放在c盘根目录下)

    @echo off
    setlocal enabledelayedexpansionwsl -d Ubuntu-20.04 -u root /etc/init.wsl | findstr “ok” > nul
    if !errorlevel! equ 0 (
    :: set wsl2 ip
    wsl -d Ubuntu-20.04 -u root ip addr | findstr “192.168.169.2” > nul
    if !errorlevel! neq 0 (
    wsl -u root ip addr add 192.168.169.2/28 broadcast 192.168.169.15 dev eth0 label eth0:1
    ):: set windows ip
    ipconfig | findstr “192.168.169.1” > nul
    if !errorlevel! neq 0 (
    netsh interface ip add address “vEthernet (WSL)” 192.168.169.1 255.255.255.240
    )
    )

    window IP:192.168.169.1      wsl2 IP:192.168.169.2

  4. 设置idea编辑器Terminal(设置idea快捷键为管理员启动)

    cmd /k c:\\wsl2.bat && wsl

Debian/Ubuntu安装MariaDB

  1. 安装

    sudo apt update

    sudo apt install mariadb-server

  2. 启动

    sudo service mysql start

  3. 配置

    sudo mysql

    use mysql

    grant all privileges on *.* to ‘root’@’%’ identified by ‘password’;

    flush privileges;

    select user,host,password from user;

     

  4. 修改配置

    sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf

    注释 bind-address            = 127.0.0.1

  5. 重启服务

    sudo service mysql restart

  6. 卸载

    sudo apt-get purge mariadb-*

    选择Yes

  7. 数据库重置

    mysql_secure_installation

Debian/Ubuntu安装PostgreSQL

  1. 安装
    apt-get install postgresql-11
  2. 配置外网访问
    1. 编辑/etc/postgresql/11/main/pg_hba.conf

      # IPv4 local connections:
      host all all 127.0.0.1/32 md5

      修改成

      host all all 0.0.0.0/0 md5

      这个文档上面有介绍,0.0.0.0/0表示允许所有ip

    2. 编辑/etc/postgresql/11/main/postgresql.conf

      #——————————————————————————
      # CONNECTIONS AND AUTHENTICATION
      #——————————————————————————

      # – Connection Settings –

      # listen_addresses = ‘localhost’          # what IP address(es) to listen on;
      # comma-separated list of addresses;
      # defaults to ‘localhost’; use ‘*’ for all
      # (change requires restart)
      修改为

      listen_addresses = ‘*’

      把注释去掉,改localhost为星号。文档已经说了,默认是监听本地,如果需要监听其他连接,改成星号(*),表示监听所有,需要重启服务或系统

  3. 设置管理数据库密码
    #进入postgres默认用户
    sudo su - postgres
    
    #进入数据库
    psql
    
    #修改密码
    \password postgres
  4. 启动

    sudo service postgresql start   或者   sudo pg_ctlcluster 11 main start

  5. 卸载

    sudo apt-get purge postgresql*