• GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。
  • GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。

一、Prometheus

  1. # 1.下载
  2. wget https://github.com/prometheus/prometheus/releases/download/v2.35.0/prometheus-2.35.0.linux-amd64.tar.gz
  3. # 2.解压
  4. tar xvpf prometheus-2.35.0.linux-amd64.tar.gz -C /usr/local
  5. # 3.建软链
  6. ln -s /usr/local/prometheus-2.35.0.linux-amd64 /usr/local/prometheus
  7. # 4.建用户和目录并开权限
  8. groupadd prometheus
  9. useradd prometheus -g prometheus -s /sbin/nologin
  10. mkdir -p /data/prometheus
  11. chown prometheus.prometheus /data/prometheus -R
  12. chown prometheus.prometheus /usr/local/prometheus/ -R
  13. # 5.配置启动
  14. echo '
  15. [Unit]
  16. Description=prometheus
  17. After=network.target
  18. [Service]
  19. Type=simple
  20. User=prometheus
  21. ExecStart=/usr/local/prometheus/prometheus \
  22. --config.file=/usr/local/prometheus/prometheus.yml \
  23. --storage.tsdb.path=/data/prometheus \
  24. --web.console.templates=/usr/local/prometheus/consoles \
  25. --web.console.libraries=/usr/local/prometheus/console_libraries
  26. ExecReload=/bin/kill -HUP $MAINPID
  27. Restart=on-failure
  28. RestartSec=60s
  29. [Install]
  30. WantedBy=multi-user.target
  31. ' > /usr/lib/systemd/system/prometheus.service
  32. # 6.添加prometheus.yml配置
  33. echo '
  34. global:
  35. scrape_interval: 15s
  36. scrape_timeout: 10s
  37. evaluation_interval: 15s
  38. alerting:
  39. alertmanagers:
  40. - static_configs:
  41. - targets:
  42. - localhost:9093
  43. scheme: http
  44. timeout: 10s
  45. rule_files:
  46. - /usr/local/prometheus/rules.d/*.rules
  47. scrape_configs:
  48. - job_name: prometheus
  49. honor_timestamps: true
  50. scrape_interval: 5s
  51. scrape_timeout: 5s
  52. metrics_path: /metrics
  53. scheme: http
  54. static_configs:
  55. - targets:
  56. - localhost:9090
  57. - job_name: node-exporter
  58. honor_timestamps: true
  59. scrape_interval: 5s
  60. scrape_timeout: 5s
  61. metrics_path: /metrics
  62. scheme: http
  63. static_configs:
  64. - targets:
  65. - localhost:9100
  66. - job_name: mysqld-exporter
  67. honor_timestamps: true
  68. scrape_interval: 5s
  69. scrape_timeout: 5s
  70. metrics_path: /metrics
  71. scheme: http
  72. static_configs:
  73. - targets:
  74. - localhost:9104
  75. ' > /usr/local/prometheus/prometheus.yml
  76. # 7.启动
  77. systemctl enable prometheus.service
  78. systemctl start prometheus.service
  79. # 8.确认开启
  80. [root@mgr2 prometheus]# netstat -nltp|grep prometheus
  81. tcp6 0 0 :::9090 :::* LISTEN 11028/prometheus

9.浏览器访问出现prometheus的管理后台

http://192.168.6.216:9090

以上单机版的prometheus服务端就部署完成了,接下来我们部署下node_exportmysqld_export 来采集系统和 MySQL 的监控数据。

二、exporter

exporter 是客户端采集模块,除了系统模块 node_exporter 之外,每个应用都有自己相应的模块,比如 MySQL 的 mysqld_exporter

建立一个 exporter 统一管理目录

  1. mkdir -p /usr/local/prometheus_exporter
  2. chown prometheus.prometheus /usr/local/prometheus_exporter -R

2.1 node_exporter

用来监控系统指标的 exporter 包括内存、CPU、磁盘空间、磁盘IO、网络等一系列指标数据。

  1. # 1.下载解压
  2. wget https://github.com/prometheus/node_exporter/releases/download/v0.18.0/node_exporter-0.18.0.linux-amd64.tar.gz
  3. tar xvpf node_exporter-0.18.0.linux-amd64.tar.gz
  4. cd node_exporter-0.18.0.linux-amd64/
  5. mv node_exporter /usr/local/prometheus_exporter/
  6. chown prometheus:prometheus /usr/local/prometheus_exporter/ -R
  7. # 2.配置启动服务
  8. echo '
  9. [Unit]
  10. Description=node_exporter
  11. After=network.target
  12. [Service]
  13. Type=simple
  14. User=prometheus
  15. ExecStart=/usr/local/prometheus_exporter/node_exporter
  16. Restart=on-failure
  17. RestartSec=60s
  18. [Install]
  19. WantedBy=multi-user.target
  20. ' > /usr/lib/systemd/system/node_exporter.service
  21. # 5.启动
  22. systemctl enable node_exporter.service
  23. systemctl start node_exporter.service
  24. # 6.确认开启
  25. [root@mgr2 node_exporter]# netstat -nltp|grep node_exporter
  26. tcp6 0 0 :::9100 :::* LISTEN 15654/node_exporter
  27. # 7.确认采集到数据
  28. [root@mgr2 prometheus]# curl http://192.168.6.216:9100/metrics
  29. # TYPE node_cpu_seconds_total counter
  30. node_cpu_seconds_total{cpu="0",mode="idle"} 273849.94
  31. node_cpu_seconds_total{cpu="0",mode="iowait"} 607.22
  32. node_cpu_seconds_total{cpu="0",mode="irq"} 0
  33. node_cpu_seconds_total{cpu="0",mode="nice"} 84.82
  34. node_cpu_seconds_total{cpu="0",mode="softirq"} 3.35
  35. node_cpu_seconds_total{cpu="0",mode="steal"} 0
  36. node_cpu_seconds_total{cpu="0",mode="system"} 5026.1
  37. node_cpu_seconds_total{cpu="0",mode="user"} 3723.54
  38. # HELP node_disk_io_now The number of I/Os currently in progress.
  39. # TYPE node_disk_io_now gauge
  40. node_disk_io_now{device="dm-0"} 0
  41. node_disk_io_now{device="dm-1"} 0

2.2 mysqld_exporter

监控 MySQL 的 exporter ,包括连接数、同步状态,InnoDB状态、响应状态等。

  1. # 下载解压
  2. wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz
  3. tar xvpf mysqld_exporter-0.11.0.linux-amd64.tar.gz
  4. cd mysqld_exporter-0.11.0.linux-amd64
  5. mv mysqld_exporter /usr/local/prometheus_exporter/
  6. chown prometheus:prometheus /usr/local/prometheus_exporter/ -R
  7. # 3.创建监控用的账户权限,数据库是8.0版本
  8. CREATE USER 'mysqlmonitor'@'127.0.0.1' IDENTIFIED BY 'mc.2022' WITH MAX_USER_CONNECTIONS 3;
  9. GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqlmonitor'@'127.0.0.1';
  10. ALTER USER 'mysqlmonitor'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'mc.2022';
  11. flush privileges;
  12. # 4.配置启动服务
  13. vi /usr/lib/systemd/system/mysqld_exporter.service
  14. [Unit]
  15. Description=mysqld_exporter
  16. After=network.target
  17. [Service]
  18. Type=simple
  19. User=prometheus
  20. Environment='DATA_SOURCE_NAME=mysqlmonitor:mc.2022@tcp(127.0.0.1:3306)'
  21. ExecStart=/usr/local/prometheus_exporter/mysqld_exporter \
  22. --config.my-cnf='/data/GreatSQL/my.cnf' \
  23. --collect.engine_innodb_status \
  24. --collect.slave_status \
  25. --web.listen-address=:9104 \
  26. --web.telemetry-path=/metrics
  27. Restart=on-failure
  28. RestartSec=60s
  29. [Install]
  30. WantedBy=multi-user.target
  31. # 5.启动
  32. systemctl enable mysqld_exporter.service
  33. systemctl start mysqld_exporter.service
  34. # 6.确认开启
  35. [root@mgr2 prometheus]# netstat -nltp|grep mysqld_export
  36. tcp6 0 0 :::9104 :::* LISTEN 14639/mysqld_export
  37. # 7.确认采集到数据
  38. [root@mgr2 prometheus]# curl http://192.168.6.216:9104/metrics
  39. # TYPE mysql_up gauge
  40. mysql_up 1
  41. ......

三、grafana

通过 grafana 我们可以将采集到的数据通过可视化的方式展现出来,对采集的数据进行展示和分类等。

grafana 的数据源既可以是 prometheus 也可以是zabbix、ES等、这是一个提供多种数据接口的数据展示软件。

3.1 部署

  1. # 1.通过rpm安装
  2. wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.5.3-1.x86_64.rpm
  3. yum install grafana-enterprise-8.5.3-1.x86_64.rpm
  4. # 2.备份先原来的配置
  5. mv /etc/grafana/grafana.ini /etc/grafana/grafana.ini.`date +"%Y-%m-%d"`.bak
  6. # 3.创建目录
  7. mkdir -p /data/grafana
  8. mkdir -p /data/logs/grafana
  9. mkdir -p /usr/local/grafana/plugins
  10. chown grafana.grafana /data/grafana
  11. chown grafana.grafana /data/logs/grafana
  12. chown grafana.grafana /usr/local/grafana/plugins
  13. # 4.拷贝模板文件进行替换
  14. echo '
  15. app_mode = production
  16. [paths]
  17. data = /data/grafana
  18. temp_data_lifetime = 24h
  19. logs = /data/logs/grafana
  20. plugins = /usr/local/grafana/plugins
  21. [server]
  22. protocol = http
  23. http_port = 3000
  24. domain = gkht
  25. root_url = http://192.168.6.216:3000
  26. enable_gzip = true
  27. [database]
  28. log_queries =
  29. [remote_cache]
  30. [session]
  31. provider = file
  32. [dataproxy]
  33. [analytics]
  34. reporting_enabled = false
  35. check_for_updates = false
  36. [security]
  37. admin_user = admin
  38. admin_password = admin
  39. secret_key = SW2YcwTIb9zpOOhoPsMm
  40. [snapshots]
  41. [dashboards]
  42. versions_to_keep = 10
  43. [users]
  44. default_theme = dark
  45. [auth]
  46. [auth.anonymous]
  47. enabled = true
  48. org_role = Viewer
  49. [auth.github]
  50. [auth.google]
  51. [auth.generic_oauth]
  52. [auth.grafana_com]
  53. [auth.proxy]
  54. [auth.basic]
  55. [auth.ldap]
  56. [smtp]
  57. [emails]
  58. [log]
  59. mode = console file
  60. level = info
  61. [log.console]
  62. [log.file]
  63. log_rotate = true
  64. daily_rotate = true
  65. max_days = 30
  66. [log.syslog]
  67. [alerting]
  68. enabled = true
  69. execute_alerts = true
  70. [explore]
  71. [metrics]
  72. enabled = true
  73. interval_seconds = 10
  74. [metrics.graphite]
  75. [tracing.jaeger]
  76. [grafana_com]
  77. url = https://grafana.com
  78. [external_image_storage]
  79. [external_image_storage.s3]
  80. [external_image_storage.webdav]
  81. [external_image_storage.gcs]
  82. [external_image_storage.azure_blob]
  83. [external_image_storage.local]
  84. [rendering]
  85. [enterprise]
  86. [panels]
  87. ' > /etc/grafana/grafana.ini
  88. chown grafana.grafana /etc/grafana/grafana.ini
  89. # 5.开启
  90. systemctl enable grafana-server.service
  91. systemctl start grafana-server.service
  92. # 6.查看开启状态
  93. [root@mgr2 opt]# netstat -nltp|grep grafana
  94. tcp6 0 0 :::3000 :::* LISTEN 23647/grafana-serve

7.浏览器访问

http://192.168.6.216:3000/login

账户密码都是 admin 登陆后先改下管理员密码,这里演示就跳过,下面是主界面

3.2 配置数据源

1.设置,Data sources

2.Add data source

3.输入Prometheus

4.添加数据源信息

5.测试连接

6.返回数据源

3.3 配置监控模板

模板库:https://grafana.com/dashboards

node_exporter面板

选择数据源 Prometheus ,输入 exporter,选择活跃度高的。

点击面板后,查看右侧id值

1.选择导入 Import

2.输入id值,然后load

3.输入名称,选择数据源,点击导入

4.查看监控数据

5.保存面板

mysqld_exporter面板

还是像之前步骤一样,搜索 mysql 关键字,找到面板,拷贝id 7362,然后导入报存。

查看面板数据

设置,选择 Browse

可以看到添加的2个模板

点击后可以看到完整数据

以上部署后已经有了展示模块,我们配置下告警模块

四、alertmanager

alertmanager是普米的告警模块,可配置各种告警规则并将告警内容发送到微信、钉钉、邮箱等。

4.1 配置alertmanager服务

  1. # 1.下载
  2. wget https://github.com/prometheus/alertmanager/releases/download/v0.17.0/alertmanager-0.17.0.linux-amd64.tar.gz
  3. # 2.解压并拷贝文件
  4. tar xvpf alertmanager-0.17.0.linux-amd64.tar.gz
  5. ln -s /usr/local/alertmanager-0.17.0.linux-amd64 /usr/local/alertmanager
  6. # 3.创建数据目录并赋权
  7. mkdir -p /data/alertmanager
  8. chown prometheus:prometheus /data/alertmanager -R
  9. chown prometheus:prometheus /usr/local/alertmanager -R
  10. # 4.配置启动脚本
  11. echo '
  12. [Unit]
  13. Description=alertmanager
  14. After=network.target
  15. [Service]
  16. Type=simple
  17. User=prometheus
  18. ExecStart=/usr/local/alertmanager/alertmanager \
  19. --config.file=/usr/local/alertmanager/alertmanager.yml \
  20. --storage.path=/data/alertmanager \
  21. --data.retention=120h
  22. Restart=on-failure
  23. RestartSec=60s
  24. [Install]
  25. WantedBy=multi-user.target
  26. ' > /usr/lib/systemd/system/alertmanager.service
  27. # 5.启动
  28. systemctl enable alertmanager.service
  29. systemctl start alertmanager.service
  30. # 6.查看开启情况
  31. [root@mgr2 alertmanager]# netstat -nltp|grep alertmanager
  32. tcp6 0 0 :::9093 :::* LISTEN 30369/alertmanager
  33. tcp6 0 0 :::9094 :::* LISTEN 30369/alertmanager

4.2 配置dingding告警

4.2.1 创建dingding告警机器人

1.钉钉创建一个群组,取名 告警

2.点击右上角的 设置

3.点击 智能群助手

4.添加机器人

5.点击设置

6.选择自定义

7.点击 添加

8.设置下 机器人安全设置 ,点击完成

9.最后确认信息,点击完成

10.设置后,群消息会弹出欢迎消息

4.2.2 安装钉钉告警插件

  1. # 1.下载
  2. wget https://github.com/timonwong/prometheus-webhook-dingtalk/releases/download/v2.0.0/prometheus-webhook-dingtalk-2.0.0.linux-amd64.tar.gz
  3. # 2.解压
  4. tar xvpf prometheus-webhook-dingtalk-2.0.0.linux-amd64.tar.gz
  5. mv prometheus-webhook-dingtalk-2.0.0.linux-amd64 /usr/local/
  6. ln -s /usr/local/prometheus-webhook-dingtalk-2.0.0.linux-amd64 /usr/local/prometheus-webhook-dingtalk
  7. # 3.配置config.yml
  8. # 拷贝个模板文件
  9. # url 和 secret 是我们创建告警机器人的时候出现的 webook 和安全设置的"加签"
  10. cp config.example.yml config.yml
  11. [root@mgr2 prometheus-webhook-dingtalk]# cat config.yml
  12. templates:
  13. - contrib/templates/legacy/template.tmpl
  14. targets:
  15. webhook1:
  16. url: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx
  17. secret: SEC000000000000000000000
  18. # 4.配置启动服务
  19. echo '
  20. [Unit]
  21. Description=prometheus-webhook-dingtalk
  22. After=network.target
  23. [Service]
  24. Type=simple
  25. User=prometheus
  26. ExecStart=/usr/local/prometheus-webhook-dingtalk/prometheus-webhook-dingtalk \
  27. --config.file='/usr/local/prometheus-webhook-dingtalk/config.yml'
  28. Restart=on-failure
  29. RestartSec=60s
  30. [Install]
  31. WantedBy=multi-user.target
  32. ' > /usr/lib/systemd/system/prometheus-webhook-dingtalk.service
  33. # 5.赋权
  34. chown prometheus.prometheus /usr/local/prometheus-webhook-dingtalk -R
  35. # 6.启动
  36. systemctl enable prometheus-webhook-dingtalk.service
  37. systemctl start prometheus-webhook-dingtalk.service
  38. # 7.确认开启了
  39. [root@mgr2 prometheus-webhook-dingtalk]# ps -aux|grep prometheus-webhook-dingtalk
  40. prometh+ 23162 0.0 0.3 716116 5768 ? Ssl 15:23 0:00 /usr/local/prometheus-webhook-dingtalk/prometheus-webhook-dingtalk --config.file=/usr/local/prometheus-webhook-dingtalk/config.yml :::* LISTEN 15654/node_exporter

以上,钉钉告警模块就完成了

4.3 配置 rule

prometheus.yml 有个rule_files 模块会加载我们的自定义配置信息

  1. # 1.创建目录
  2. mkdir -p /usr/local/prometheus/rules.d/
  3. # 2.配置告警规则信息
  4. [root@mgr2 rules.d]# cat test.rules
  5. groups:
  6. - name: OsStatsAlert
  7. rules:
  8. - alert: Out of Disk Space
  9. expr: ( 1 - (node_filesystem_avail_bytes{fstype=~"ext[34]|xfs"} / node_filesystem_size_bytes{fstype=~"ext[234]|btrfs|xfs|zfs"}) ) * 100 > 15
  10. for: 1m
  11. labels:
  12. team: node
  13. annotations:
  14. summary: "{{$labels.instance}}: 文件系统空间使用率过高"
  15. description: "{{$labels.instance}}: 文件系统空间使用率超过 15% (当前使用率: {{ $value }})"
  16. - name: MySQLStatsAlert
  17. rules:
  18. - alert: MySQL is down
  19. expr: mysql_up == 0
  20. for: 1m
  21. labels:
  22. severity: critical
  23. annotations:
  24. summary: "Instance {{ $labels.instance }} MySQL is down"
  25. description: "MySQL database is down."
  26. # 3.重启
  27. systemctl restart prometheus
  28. systemctl restart alertmanager

4.关闭MySQL进程,观察告警信息

  1. systemctl stop greatsql@mgr3306.service

5.提示告警信息

6.异常恢复后也会进行告警通知

五、总结

以上基于Prometheus+Grafana+钉钉简单部署了一个告警系统,可以结合实际情况自行进行扩展,在生产上Prometheus一般采用集群方式,防止单点故障,同时也可与consul结合做服务自动发现,减少手动配置环节。

Enjoy GreatSQL

文章推荐:

面向金融级应用的GreatSQL正式开源

https://mp.weixin.qq.com/s/cI_wPKQJuXItVWpOx_yNTg

Changes in GreatSQL 8.0.25 (2021-8-18)

https://mp.weixin.qq.com/s/qcn0lmsMoLtaGO9hbpnhVg

MGR及GreatSQL资源汇总

https://mp.weixin.qq.com/s/qXMct_pOVN5FGoLsXSD0MA

GreatSQL MGR FAQ

https://mp.weixin.qq.com/s/J6wkUpGXw3YkyEUJXiZ9xA

在Linux下源码编译安装GreatSQL/MySQL

https://mp.weixin.qq.com/s/WZZOWKqSaGSy-mpD2GdNcA

关于 GreatSQL

GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。

Gitee:

https://gitee.com/GreatSQL/GreatSQL

GitHub:

https://github.com/GreatSQL/GreatSQL

Bilibili:

https://space.bilibili.com/1363850082/video

微信&QQ群:

可搜索添加GreatSQL社区助手微信好友,发送验证信息“加群”加入GreatSQL/MGR交流微信群

QQ群:533341697

微信小助手:wanlidbc

本文由博客一文多发平台 OpenWrite 发布!

Prometheus+Grafana+钉钉部署一个单机的MySQL监控告警系统的更多相关文章

  1. prometheus grafana graylog 钉钉告警 短信告警 电话告警系统 PrometheusAlert

    PrometheusAlert 简介 PrometheusAlert是开源的运维告警中心消息转发系统,支持主流的监控系统Prometheus,日志系统Graylog和数据可视化系统Grafana发出的 ...

  2. 通过官网模板轻松实现Grafana的可视化界面配置(以MySQL监控项为例)

    我们知道可视化是监控的一个重要环节,所以往往我们这个环节花费大量的时间和精力.可是如果可以借鉴前辈的经验和成果,可以事半功倍.Grafana 有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编 ...

  3. 从docker到docker-compose部署一个nginx+flask+mysql+redis应用

    目的是把一个flask项目的mysql数据库.redis数据库.flask应用.nginx服务分别装到四个容器中,然后用docker-compose命令同时启动与关闭 一.安装docker Docke ...

  4. Prometheus+Grafana监控部署实践

    参考文档: Prometheus github:https://github.com/prometheus grafana github:https://github.com/grafana/graf ...

  5. docker-compose 快速部署Prometheus之服务端并监控ceph cluster 使用钉钉webhook 报警

    现在环境是这样: ceph 4台: 192.168.100.21  ceph-node1 192.168.100.22  ceph-node2 192.168.100.23  ceph-node3 1 ...

  6. Docker系列——Grafana+Prometheus+Node-exporter钉钉推送(四)

    近期搭建的服务器监控平台,来进行一个总结.主要分为监控平台的搭建.告警中心的配置以及消息的推送.推送的话,支持多种终端.具体详细可查看之前的博文,在这里罗列下,方便查看. Docker系列--Graf ...

  7. 远见而明察近观若明火|Centos7.6环境基于Prometheus和Grafana结合钉钉机器人打造全时监控(预警)Docker容器服务系统

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_181 我们知道,奉行长期主义的网络公司,势必应在软件开发流程管理体系上具备规范意识,即代码提交有CR(CodeReview),功能 ...

  8. Grafana+prometheus+AlertManager+钉钉机器人

    一.Grafana (1)安装Grafana的Linux环境 在官网下载windows的Grafana的压缩包到指定目录,解压缩Grafana压缩文件到包含当前Grafana版本的文件夹.将该文件夹解 ...

  9. Grafana+Prometheus实现Ceph监控和钉钉告警-转载(云栖社区)

    获取软件包 最新的软件包获取地址 https://prometheus.io/download/ Prometheus 1.下载Prometheus $ wget https://github.com ...

随机推荐

  1. 好客租房55-props深入(2props校验)

    对于组件来说 props是外来的 无法保证使用者传入什么格式的数据 传入的数据格式不对 可能会导致组件内部报错 关键问题:不知道报错的具体原因 1安装包props-types 2导入props-typ ...

  2. 万字+28张图带你探秘小而美的规则引擎框架LiteFlow

    大家好,今天给大家介绍一款轻量.快速.稳定可编排的组件式规则引擎框架LiteFlow. 一.LiteFlow的介绍 LiteFlow官方网站和代码仓库地址 官方网站:https://yomahub.c ...

  3. 英语资源及其APP推荐

    step1:记单词 a,说到背单词常规方法是拿着一本单词书一个一个往下背.该种方法不仅枯燥且效率极低. b,app辅助记忆.在此就我用过的两个app做简述.第一个是百词斩 百词斩:功能主打图片记忆,并 ...

  4. Ceph集群搭建记录

    环境准备 基础环境 node00 192.168.247.144 node00 node01 192.168.247.135 node01 node02 192.168.247.143 node02 ...

  5. 命令行传参——JavaSE基础

    命令行传参 可以在运行一个程序时再传递给它消息,可以依靠命令行传参给mian()函数实现 public class CommandLine(){ public static void main(Str ...

  6. 腾讯云数据库TDSQL-大咖论道 | 基础软件的过去、现在、未来

    近十年来,中国基础软件发展势头迅猛,市场前景看高,越来越多的企业也正在进行基础软件升级.那中国基础软件行业目前在国际市场上有什么优势,面临哪些困境,以及未来基础软件行业会如何发展呢?腾讯云数据库邀请沙 ...

  7. 使用PowerShell压缩和解压ZIP包

    更新记录 本文迁移自Panda666原博客,原发布时间:2021年7月13日. 解压ZIP包 使用PowerShell的Expand-Archive命令.PowerShell官方文档地址. 命令格式: ...

  8. 名校AI课推荐 | UC Berkeley《人工智能导论》

    深度学习具备强感知能力但缺乏一定的决策能力,强化学习具备决策能力但对感知问题束手无策,因此将两者结合起来可以达到优势互补的效果,为复杂系统的感知决策问题提供了解决思路. 今天我们推荐这样一门课程--U ...

  9. HTML,CSS,JS,DOM,jQuery

    HTML 超链接访问顺序 a:link-->a:visited-->a:hover-->a:active.(有顺序) link:表示从未访问过的链接的样式 visited:表示已经访 ...

  10. 女朋友说:你要搞懂了MySQL三大日志,我就让你嘿嘿嘿!

    1. 背景 MySQL实现事务.崩溃恢复.集群的主从复制,底层都离不开日志,所以日志是MySQL的精华所在.只有了解MySQL日志,才算是彻底搞懂MySQL. 今天一灯就带你深入浅出的学习MySQL的 ...