0%

1. 安装JAVA环境

1
sudo apt-get install default-jdk

2. 下载wrapper及jar包

1
2
3
4
wget http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip
unzip mycat2-install-template-1.21.zip
cd mycat/lib
wget http://dl.mycat.org.cn/2.0/1.22-release/mycat2-1.22-release-jar-with-dependencies-2022-4-27.jar

3. 给文件夹写权限

1
sudo chmod 777 mycat -Rf #递归修改文件夹权限

因为创建数据库时会在对应的文件夹创建配置文件,所以需要读写权限。同时也会往logs文件夹写日志。

4. 修改配置文件

文件名 作用
e:\mycat\conf\datasources\prototypeDs.datasource.json 配置名称为prototypeDs 的数据源
e:\mycat\conf\users\root.user.json 配置root的登录用户信息
e:\mycat\conf\server.json 配置mycat服务器信息
e:\mycat\conf\simplelogger.properties 配置log级别
e:\mycat\conf\clusters\prototype.cluster.json 配置名称为prototype的集群

5. 启动MyCat

1
2
cd mycat/bin
./mycat start # 启动后即可去logs文件夹下查看日志,若日志过于简单可以修改mycat\conf\simplelogger.properties 来调整日志级别。输出更多内容。

6. 创建数据库

使用Navicat或者dbever连接到MyCat(如果连不上,可能是MYSQL 8 密码模式造成的,可以修改密码,具体提示可以查看日志)

1
2
3
4
5
6
7
8
9
10
11
12
create DATABASE myTestDb; # 创建一个数据库 myTestDb
use myTestDb;
-- 分库分表
CREATE TABLE `test` (
`ID` varchar(36) NOT NULL,
`Name` varchar(255) NULL DEFAULT NULL,
`CreateTime` datetime(0) NULL DEFAULT NULL,
`Phone` varchar(255) NULL DEFAULT NULL,
`Address` varchar(255) NULL DEFAULT NULL,
PRIMARY KEY (`ID`) USING BTREE,
INDEX `idx`(`Phone`) USING HASH
) ENGINE = InnoDB DEFAULT dbpartition by mod_hash(id) tbpartition by mod_hash(id) tbpartitions 10 dbpartitions 10;

其中 dbpartition by mod_hash(id) tbpartition by mod_hash(id) tbpartitions 10 dbpartitions 10 为分库分表的语句,意思是使用mod_hash(id)来进行分库操作,使用mod_hash(id)来进行分表操作。tbpartitions : 分库的数量。dbpartitions :分表的数量。

1
2
3
4
5
6
7
8
9
10
11
12
13
-- 为了测试多表查询,顾在插入了Test表后又新建了Order表
use myTestDb;
CREATE TABLE `order` (
`ID` varchar(36) NOT NULL,
`ProductName` varchar(255) NULL DEFAULT NULL,
`CreateTime` datetime(0) NULL DEFAULT NULL,
`CreateOrderUserId` varchar(255) NULL DEFAULT NULL,
PRIMARY KEY (`ID`) USING BTREE,
INDEX `idx`(`ProductName`) USING HASH
) ENGINE = InnoDB DEFAULT dbpartition by mod_hash(id) tbpartition by mod_hash(id) tbpartitions 10 dbpartitions 10;

-- 下方的语句为MyCat的命令,MyCat的命令通过类似注释的方式去执行。该命令执行刷新物理表的操作。
/*+ mycat:repairPhysicalTable{} */

7. 备忘:

• 不使用MyCat1.6的几点原因:
Insert操作丢失数据
不能批量更新(不支持多语句)

Ubuntu 通过Service自启动

  1. /lib/systemd/system/文件夹下创建Service,本次使用Service创建NPC自启。故将本次服务名称命名为npc.service
  2. 编写npc.service内容
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [Unit]
    Description=nps_client_service
    After=network.target #网络启动后
    Wants=
    Requires=

    [Service]
    Type=forking
    ExecStart=/bin/bash /opt/NPClient/start_npc.sh #执行的内容是脚本test.sh中的内容,其中包括它的绝对地址

    [Install]
    WantedBy=multi-user.target
  3. 将该服务设置为开机启动
    1
    systemctl enable npc.service
  4. 查看服务状态
    1
    systemctl status npc.service

    确保此时无报错

  5. 重启电脑

1. 安装OnlyOffice

1
docker run -d -p 10086:80 onlyoffice/documentserver

2. 字体路径

  1. 原版自带字体:/usr/share/fonts/
  2. 核心字体:/var/www/onlyoffice/documentserver/core-fonts/

在删除过程中/usr/share/fonts/truetype/custom该路径无法删除,忽略即可,后续将自定义的字体移动才该目录,拓展名为.otf

3. 重新生成

执行:/usr/bin/documentserver-generate-allfonts.sh等待启动即可。

4. Other

使用Nginx进行反向代理,需要设置传递真实IP。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server  {
listen 80;
server_name my.hostname;
location / {
proxy_pass http://127.0.0.1:10086;
proxy_connect_timeout 4s; #配置点1
proxy_read_timeout 60s; #配置点2,如果没效,可以考虑这个时间配置长一点
proxy_send_timeout 12s; #配置点3
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

记录一下linq外连接写法

1
2
3
4
5
6
7
8
var result = from a in OverViewInfo
join city in Orgs on a.CityId equals city.Id into gcity
from kcity in gcity.DefaultIfEmpty()
join mcountry in Orgs on a.CountyId equals mcountry.Id into gcounty
from kcounty in gcounty.DefaultIfEmpty()
select new { a,kcity,kcounty};

result.Dump(); //linqPad调试

几个月前配置过,因为迁移虚拟机,备忘

1. 创建容器

1
docker run -d --name gitlab-runner-12.10.1 --restart always -v /gitlab-runner/config/:/etc/gitlab-runner/  -v /var/run/docker.sock:/var/run/docker.sock  gitlab/gitlab-runner:latest

2. 进入容器配置连接到gitlab

1
2
docker exec -it 4054 /bin/bash  #4054为容器ID
gitlab-runner register -n --url=http://mygitlabUrl --registration-token=gitlab-token --executor=docker --description="vm-199-06" --docker-image="docker:19.03.8" --docker-volumes /var/run/docker.sock:/var/run/docker.sock --locked=false