无    2021-03-26 18:13:14    27    0    0
无    2021-03-26 18:00:58    34    0    0

1. PG权限位说明

使用psql的\dp 命令获取表和字段的现存权限的有关的信息。例如:

  1. => \dp mytable
  2. Access privileges
  3. Schema | Name | Type | Access privileges | Column access privileges
  4. --------+---------+-------+-----------------------+--------------------------
  5. public | mytable | table | miriam=arwdDxt/miriam | col1:
  6. : =r/miriam : miriam_rw=rw/miriam
  7. : admin=arw/miriam
  8. (1 row)

\dp显示的条目解释如下:

  1. rolename=xxxx -- 赋予一个角色的权限
  2. =xxxx -- 赋予 PUBLIC 的权限
  3. r -- SELECT ("读")
  4. w -- UPDATE ("写")
  5. a -- INSERT ("追加")
  6. d -- DELETE
  7. D -- TRUNCATE
  8. x -- REFERENCES
  9. t -- TRIGGER
  10. X -- EXECUTE
  11. U -- USAGE
  12. C -- CREATE
  13. c -- CONNECT
  14. T -- TEMPORARY
无    2021-03-04 18:11:01    27    0    0

CoreOS概述

CoreOS 是什么

导语: CoreOS官网主页使用一句话概括其理念:“A newway to think about servers”,以及紧接着的“CoreOS is Linux for massive server deployments”, 表示这是一个新思维方式思考未来服务器大规模部署的的Linux服务器操作系统。

简单的说,它是一种基于 Chrome OS 再定制的轻量级 Linux 发行版本。

作为一个操作系统,CoreOS 采用了高度精简的系统内核及外围定制,将许多原本需要复杂人工操作或者第三方软件支持的功能在操作系统级别进行了实现,同时剔除了其他对于服务器系统非核心的软件,比如GUI和包管理器。

特别值得一提的是 CoreOS 对包管理器的态度和 Docker 的原生支持。这是许多习惯了传统 Linux 管理方式的用户在刚接触CoreOS 时,最不习惯的地方,因为 CoreOS 没有提供现成的包管理工具。一个典型的困惑是:在 CoreOS 安装软件太不方便了。事实上 CoreOS 并不鼓励用户将各种应用软件直接安装在操作系统之上,而是提倡将所有服务运行在单独的应用容器中,由应用容器提供应用所需要的基础功能环境。这种做法将操作系统和应用程序的职责做了更彻底的分离,降低操作系统和应用程序的耦合度,使运行这些服务器的公司可以更快速、更廉价地更新自己的线上业务。

CoreOS 优点有哪些

容器技术

通过容器化 (containerized) 的运算环境向应用程序提供运算资源。应用程序之间共享系统内核和资源,但是彼此之间又互不可见。这样就意味着应用程序将不会再被直接安装到操作系统中,而是通过 Docker 运行在容器中。这种方式使得操作系统、应用程序及运行环境之间的耦合度大大降低。相对于传统的部署方式而言,在 CoreOS 集群中部署应用程序更加灵活便捷,应用程序运行环境之间的干扰更少,而且操作系统自身

无    2021-03-03 16:40:53    18    0    0

mysql

  1. show full processlist;
  2. select * from information_schema.processlist where USER = '';

阿里云mysql RDS无法通过SQL修改账号名称

  1. mysql> update user set user="xxx2" where user="xxx1";
  2. ERROR 1142 (42000): UPDATE command denied to user 'xxx1'@'10.1.1.123' for table 'user'

Postgresql

  1. select * from pg_stat_activity;
  2. SELECT datname,usename,client_addr,client_port FROM pg_stat_activity;
无    2021-03-03 16:38:54    17    0    0

app

Strava
Runtastic
Runkeeper
Endomondo

The way for jog

平路
间歇训练
山路
伸展
空气质量

7位专家的速度训练建议

Reference
Reference

1. 寻找合适的场地 (Marc Bloom)

「搜寻适合的路径,避免拥挤、危险处,或是陡下坡。也许下坡感觉很轻松,但实际上会带给肌肉巨大的负担。」

「记得要把地表情形纳入考虑。草地和泥土地对跑者而言是不错的训练场地,但相较起来地面的平整更为重要。树根、人行道上的裂缝还有小坑洞都是可能造成损伤的隐忧。因此,光滑有弹性的PU赛道是最佳选择。」

2. 山坡间歇跑 (Amanda McCracken)

「其中一个强化髋屈肌以及增加两腿摆动周期的好方法,就属山坡跑了。当我们的肌力增加,受伤的机率自然大幅降低,也增加自信心。」

「一旦你完成15趟2分速上斜训练, 在比赛中爬相似坡度就算用1分速,也非常轻松。这是因为山坡跑练习提升了你的肌力和速度,即使配速加快,但上斜时的力量增加了,并不会感到特别吃力。」

「所以,比赛中遇到上斜路段时,最好的应对方式就是维持气力,不论前面跑得多好、就算努力点可以更快,此时都应抛开配速压力。如果在跑山坡路段时还试图维持平地的配速,就会把力量不断地浪

无    2021-03-03 16:38:27    36    0    0

迁移前

数据库sql形式的备份

pg_dump -h 192.168.1.228 -U postgres -d drone -f drone.sql
pg_dump -h 192.168.1.228 -U drone -d drone -f drone.sql

迁移中

数据目录的迁移

  • docker-compose.yaml
  1. version: "3.5"
  2. services:
  3. db:
  4. restart: always
  5. image: postgres:9.6
  6. privileged: true
  7. ports:
  8. - 5432:5432
  9. environment:
  10. POSTGRES_PASSWORD: hyx12345
  11. PGDATA: /var/lib/postgresql/data/pgdata
  12. volumes:
  13. - /home/drone/postgresql/data:/var/lib/postgresql/data/pgdata
  14. adminer:
  15. image: adminer
  16. restart: always
  17. ports:
  18. - 8080:8080

根据上面volumes的本地地址,将目录拷贝到另一台机器上

创建和原来db一样的用户和库

psql -h 192.168.1.232 -U postgres

create user drone with password 'xxxxxx';
create database drone owner drone;
grant all privileges on database drone to drone;

必须要把库的所有表都删除,不然就会报错

让drone server重新生成,我理解这一步为初始化

恢复数据库sql

psql -h

无    2021-03-03 16:38:25    144    0    0

搭建VPN工具Algo,Streisand,OpenVPN,StrongSwan,SoftEther,WireGuard

https://ywnz.com/linuxrj/3105.html

安装 privacyidea privacyidea-nginx privacyidea-radius

  1. add-apt-repository ppa:privacyidea/privacyidea
  2. apt-get update
  3. apt-get install python-privacyidea privacyideaadm
  4. apt-get install privacyidea-nginx
  5. pi-manage admin add admin -e admin@localhost
  6. apt-get install privacyidea-radius

修改 nginx中的 server name配置

vim /etc/nginx/sites-enabled/privacyidea

server_name pi.aibuyer.net localhost;

freeradius 的 client配置文件 /etc/freeradius/client.conf 中可配置 连接 privacyidea的hostname, 必须和 nginx中privacyidea配置的 servername一致.

/etc/freeradius/client.conf 中配置hostname会报错,导致freeradius启不来,所以注释掉了

现在可以访问到 https://pi.aibu

无    2021-03-03 16:37:46    84    0    0

终端命令

登录

根据提示输入密码

  1. psql -h 127.0.0.1 -U postgres

备份

根据提示输入密码

  1. pg_dump -h 127.0.0.1 -U postgres -d drone -f drone.sql

还原

根据提示输入密码

  1. psql -h 127.0.0.1 -d drone -U postgres -f drone.sql

控制台命令

  1. - \h:查看SQL命令的解释,比如\h select
  2. - \?:查看psql命令列表。
  3. - \l:列出所有数据库。
  4. - \c [database_name]:连接其他数据库。
  5. - \d:列出当前数据库的所有表格。
  6. - \d [table_name]:列出某一张表格的结构。
  7. - \du:列出所有用户。
  8. - \e:打开文本编辑器。
  9. - \conninfo:列出当前数据库和连接的信息。

数据库操作

创建用户

  1. create user drone with password 'xxxxxx';

创建数据库

  1. create database drone owner drone;

授权用户

  1. grant all privileges on database drone to drone;
  2. # \c 到指定的数据库下执行grant才生效
  3. \c drone
  4. GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO drone;
  5. GRANT SELECT CREATE INSERT UPDATE ON ALL TABLES IN SCHEMA public TO drone;

查看用户权限

  1. s
无    2021-03-03 16:37:28    27    0    0

show status 命令参数详解

命令:show status like '%下面变量%';

参数项 解释
Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。
Connections 试图连接MySQL服务器的次数。
Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。
Delayed_writes 用INSERT DELAYED写入的行数。
Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数
Flush_commands 执行FLUSH命令的次数。
Handler_delete 请求从一张表中删除行的次数。
Handler_read_first 请求读入表中第一行的次数。
Handler_read_key 请求数字基于键读行。
Handler_read_next 请求读入基于一个键的一行的次数。
Handler_read_rnd 请求读入基于一个固定位置的一行的次数。
Handler_update 请求更新表中一行的次数。
Handler_write 请求向表中插入一行的次数。
Key_blocks_used 用于关键字缓存的块的数量。
无    2021-02-26 09:51:16    9    0    0

网站https

通过certbot工具 配置免费ssl证书,并应用到网站
也是letsencrypt官网推荐的工具哦
当然此类工具还是有不少的

配置证书

安装certbot

yum install certbot -y

测试是否安装正确

[root@VM_0_17_centos ~]# certbot
如果运行正常,将出现类似下面的提示。

  1. Saving debug log to /var/log/letsencrypt/letsencrypt.log
  2. Certbot doesn't know how to automatically configure the web server on this system. However, it can still get a certificate for you. Please run "certbot certonly" to do so. You'll need to manually configure your web server to use the resulting certificate.

在相应的域名服务商的创建SecretId

配置到au.sh中,目前只支持腾讯云、阿里云、godaddy
相应的id、key的生成请参考
- aly
- txy
- godaddy

下载sdk工具

  1. [root@VM_0_17_centos certbot-letencrypt-wildcardcertificates-alydns-au]# cd /opt && \
  2. git clone https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au && \
  3. cd certbot-letencrypt-wildcardcertificates-alydns-au

修改 au.sh脚本

  1. #填写阿里云的AccessKey ID及AccessKey Secret
  2. #如何申请见https://help.aliyun.com/knowledge_det
13/14