一 对MySQL实例所在的服务器状态进行监控
二 对MySQL实例进行监控
1.使用mysqladmin命令监控MySQL实例状态
mysqladmin是MySQL自带的一个数据库管理命令,可以用来查看当前数据库的配置和状态信息
例1.查看MySQL实例是否存活
$ mysqladmin -h127.0.0.1 -uroot -p ping
Enter password:
mysqld is alive
例2.查看活动地服务器进程
$ mysqladmin -h127.0.0.1 -uroot -p -v processlist
Enter password:
+---------+-------------+-----------------+--------+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+---------+-------------+-----------------+--------+---------+------+-------+-----------------------+
| 965138 | root | localhost | zabbix | Sleep | 181 | | |
| 965146 | root | localhost | zabbix | Sleep | 2 | | |
| 965148 | root | localhost | zabbix | Sleep | 3 | | |
| 965149 | root | localhost | zabbix | Sleep | 1 | | |
例3.查看服务器状态信息
$ mysqladmin -h127.0.0.1 -uroot -p -v status
Enter password:
Uptime: 5756530 Threads: 96 Questions: 325496998 Slow queries: 40 Opens: 3228309 Flush tables: 1 Open tables: 64 Queries per second avg: 56.543
2.使用数据库自带命令
show status; 查看本地状态变量的值
show session status; 查看当前连接的状态变量的值
show global status; 查看全局状态变量的值
这些状态变量的值是可以更改的
可以使用
set [global | session ] = ;
或者
set [@@global. | @@session. | @@] = ;
show index from
查看指定表的索引信息
show plugins; 查看插件和状态,存储引擎也当作插件被列出
show processlist; 查看MySQL的线程状态信息
show full processlist;
show table status; 查看数据库中表的详细信息
show global status like '%log%'; 使用like匹配查询
show engine status; 查看指定存储引擎的状态
show engine logs; 查看指定存储引擎的日志信息
show engines; 查看MySQL支持的存储引擎
show binlog events [ in '' ] [from ] [limit [,] ]
显示二进制日志binary log中记录的事件。默认输出当前二进制日志文件信息。
show binlog events\G;
show binary logs; 列出服务器上的二进制文件,可以显示每个二进制文件的大小,单位为字节
show mater logs;
mysql> show binary logs;
+-------------------+-----------+
| Log_name | File_size |
+-------------------+-----------+
| master-bin.000001 | 446 |
| master-bin.000002 | 126 |
| master-bin.000003 | 467608268 |
+-------------------+-----------+
3 rows in set (0.00 sec)
mysql> show master logs;
+-------------------+-----------+
| Log_name | File_size |
+-------------------+-----------+
| master-bin.000001 | 446 |
| master-bin.000002 | 126 |
| master-bin.000003 | 467608268 |
+-------------------+-----------+
3 rows in set (0.00 sec)
show relaylog events [ in ''] [from ] [limit [,] ]
从MySQL5.5开始支持。只在Slave端显示relay logs。
show master status; 查看Server端的当前配置,显示当前的二进制日志文件,二进制日志文件当前的位置
mysql> show master status;
+-------------------+-----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+-----------+--------------+------------------+
| master-bin.000003 | 467608493 | | |
+-------------------+-----------+--------------+------------------+
1 row in set (0.00 sec) show slave hosts; 显示连接到Master的Slave
mysql> show slave hosts;
+-----------+------+------+-----------+
| Server_id | Host | Port | Master_id |
+-----------+------+------+-----------+
| 2 | | 3306 | 1 |
+-----------+------+------+-----------+
1 row in set (0.00 sec)
show slave status\G 显示Slave的复制状态信息
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.10.41.7
Master_User: repl_user
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.000003
Read_Master_Log_Pos: 467608493
Relay_Log_File: slave-relay-bin.000008
Relay_Log_Pos: 467608640
Relay_Master_Log_File: master-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 467608493
Relay_Log_Space: 467608796
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
1 row in set (0.00 sec)
MySQL的变量很多,默认是按照字母顺序排列,但是也有例外,如果想要查看特定含有特定关键字的变量可以用like
mysql> show global variables like '%thread%';
+-----------------------------------------+---------------------------+
| Variable_name | Value |
+-----------------------------------------+---------------------------+
| innodb_purge_threads | 0 |
| innodb_read_io_threads | 4 |
| innodb_thread_concurrency | 8 |
| innodb_thread_sleep_delay | 10000 |
| innodb_write_io_threads | 4 |
| max_delayed_threads | 20 |
| max_insert_delayed_threads | 20 |
| myisam_repair_threads | 1 |
| performance_schema_max_thread_classes | 50 |
| performance_schema_max_thread_instances | 1000 |
| thread_cache_size | 64 |
| thread_concurrency | 10 |
| thread_handling | one-thread-per-connection |
| thread_stack | 262144 |
+-----------------------------------------+---------------------------+
14 rows in set (0.00 sec)
3.使用MySQL GUI管理工具
使用MySQL Administrator和MySQL Query Browser
4.查看日志文件
MySQL日志相关类型
查询日志
慢查询日志
错误日志
二进制日志
备份日志
在/etc/my.cnf中配置
log
log-slow-queries
long_query_time=10
5.使用第三方工具
mysar , mytop, InnoTop,和MONyog这几个工具可以分析MySQL性能
5.1 mysar
mysar 是一个用Perl语言编写的程序,它将show global status;show global variables;和show full processlist的结果存入到数据库中以备其他工具调用。
可以从 https://launchpad.net/mysar 下载
5.2 mytop
CentOS上可以通过 yum -y install mytop安装
MySQL on localhost (5.5.21-log) up 0+01:13:21 [15:19:19]
Queries: 4.0k qps: 1 Slow: 0.0 Se/In/Up/De(%): 22/23/00/00
qps now: 3 Slow qps: 0.0 Threads: 3 ( 2/ 2) 29/00/00/00
Key Efficiency: 100.0% Bps in/out: 207.5k/207.7k Now in/out: 198.2/ 2.0k
Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- ----------
941 root localhost test 0 Query show full processlist
718 root localhost 900 Sleep
15 repl_user 10.10.41.8 4373 Binlog Master has sent all binlog to slave; waiting for binlog t
5.3 innotop
innotop is a MySQL and InnoDB transaction/status monitor, like 'top' for
MySQL. It displays queries, InnoDB transactions, lock waits, deadlocks,
foreign key errors, open tables, replication status, buffer information,
row operations, logs, I/O operations, load graph, and more. You can
monitor many servers at once with innotop.
CentOS上通过yum -y install innotop安装
5.4 MONyog
MONyog 是一个可以帮助DBA分析MySQL性能的工具。可以从
https://www.webyog.com/product/monyog 下载
它具有以下特性:
可以对MySQL实例的资源进行监控
可以对SQL语句的执行情况进行监控
可以对MySQL日志进行监控
可以对特定事件进行报警
6.使用MySQL benchmark suite
MySQL benchmark suite有助于对MySQL进行压力测试
进入到MySQL安装目录下如/usr/local/mysql/sql-bench
./run-all-tests --server=mysql --cmp=mysql --user=root --socket=/tmp/mysql.sock
Benchmark DBD suite: 2.15
Date of test: 2014-12-14 12:33:29
Running tests on: Linux 2.6.32-358.el6.i686 i686
Arguments: --socket=/tmp/mysql.sock
Comments:
Limits from: mysql
Server version: MySQL 5.5.21 log
Optimization: None
Hardware:
alter-table:
Total time: 295 wallclock secs ( 0.08 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.10 CPU)
ATIS: Total time: 1499 wallclock secs ( 2.87 usr 0.15 sys + 0.00 cusr 0.00 csys = 3.02 CPU)
big-tables: Total time: 283 wallclock secs ( 1.61 usr 0.14 sys + 0.00 cusr 0.00 csys = 1.75 CPU)
connect: Total time: 60 wallclock secs (16.22 usr 4.73 sys + 0.00 cusr 0.00 csys = 20.95 CPU)
create:
MySQL自带一个内置函数benchmark()
mysql> SELECT BENCHMARK(1000000,"SELECT CONCAT('te','s','t')");
+--------------------------------------------------+
| BENCHMARK(1000000,"SELECT CONCAT('te','s','t')") |
+--------------------------------------------------+
| 0 |
+--------------------------------------------------+
1 row in set (0.00 sec)
7.使用EXPLAIN分析SQL语法的执行情况
三 对MySQL主从复制进行监控
四 对MySQL的存储引擎进行监控
参考文档
http://dev.mysql.com/doc/refman/5.5/en/index.html
你可能感兴趣的:(mysql,MySQL)
linux学习第六十篇:Linux监控平台介绍,zabbix监控介绍,安装zabbix,忘记Admin密码如何做_adminstartor密码
2501_90339150
linux 学习 zabbix
Linux监控平台介绍常见开源监控软件:cacti、nagios、zabbix、smokeping、open-falcon等等cacti、smokeping偏向于基础监控,成图非常漂亮cacti、nagios、zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监
为何要为Nacos配置外置Mysql数据库?
t04bf
Java nacos
文章目录为什么要外置Mysql数据库创建sql表docker启动nacos为什么要外置Mysql数据库数据的持久性:使用MySQL作为外置数据库可以确保数据被持久化存储,这对于确保服务的稳定性和数据的可靠性至关重要。高可用性:Nacos支持集群部署,而使用MySQL作为共享的数据存储可以确保集群中各个节点之间的数据一致性。此外,MySQL自身也支持高可用性和故障转移,如使用主从复制或集群解决方案,
Cardinal ERROR1698 配置问题解决
n0rma1playe2
ctf ubuntu linux
最近再配置Cardinal时,再这个问题上一直搞不明白,就去问了chatgpt,给出的解答也是完美解决了我的问题,如果有相同问题,可以参考一下sudomysql-urootUSEmysql;UPDATEuserSETplugin='mysql_native_password'WHEREUser='root';FLUSHPRIVILEGES;sudosystemctlrestartmysqlUSEm
基于Django以及vue的电子商城系统设计与实现
放学-别走
django vue.js python 毕设 毕业设计 后端 零售
基于Django以及vue的电子商城系统设计与实现引言随着电子商务的快速发展,越来越多的企业和个人选择搭建线上商城,以提供更加便捷的购物体验。本文基于Python开发了一套电子商城系统,后端采用Django框架,前端使用Vue.js,并使用MySQL数据库进行数据存储和管理。本文将详细介绍该系统的设计、实现及测试过程,以供开发者参考。1.电子商城系统概述1.1背景与意义电子商务已经成为现代商业的重
You have an error in your SQL syntax导致建表失败的原因以及解决方案bug记录
阿俊仔(摸鱼版)
眼盲心不瞎的憨憨bug日记 sql bug 数据库
问题描述我在使用sql语句创建表提示我无法添加约束,导致建表失败。编译器给了以下提示信息:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear’原因分析:显然是sql语句的语法可能存在不正确,可以先检查一下near后提示的出错位置,也
MySQL的数据类型
HeyGopher
数据库 数据库
MySQL的数据类型MySQL支持多种数据类型,包括数值型、字符串型、日期时间型、二进制型等。以下是MySQL常见的数据类型:数值型TINYINTSMALLINTMEDIUMINTINTBIGINTFLOATDOUBLEDECIMAL字符串型CHARVARCHARTINYTEXTTEXTMEDIUMTEXTLONGTEXTENUMSET日期时间型DATETIMEYEARDATETIMETIMEST
mysql将一个表的数据插入到另一个表中
战族狼魂
Windows系统 sql html mysql 数据库
在MySQL中,可以使用INSERTINTO...SELECT...语句将一个表中的数据插入到另一个表。假设我们有两个表:source_table(源表)和target_table(目标表),它们具有相同的结构。以下是一个示例代码:INSERTINTOtarget_table(column1,column2,column3,...)SELECTcolumn1,column2,column3,...
统计 product 表中 detail 字段包含 xxx 的产品数量
小丁学Java
产品资质管理系统 数据库
您可以使用以下SQL查询语句来统计product表中detail字段包含oss.kxlist.com的产品数量:SELECTCOUNT(*)FROM`product`WHEREINSTR(`detail`,'oss.kxlist.com')>0;mysql>SELECTCOUNT(*)->FROM`product`->WHEREINSTR(`detail`,'oss.kxlist.com')>0;
JavaWeb学习-Mybatis(增删改查)
半截詩
JavaWeb 学习 mybatis
(一)Mybatis入门程序1.创建springboot工程,并导入mybatis的起步依赖、mysql的驱动包。(项目工程创建完成后,自动在pom.xml文件中,导入Mybatis依赖和MySQL驱动依赖)org.mybatis.spring.bootmybatis-spring-boot-starter2.3.0com.mysqlmysql-connector-jruntimeorg.spri
[数据库]MySql系统架构
一曲长歌,一剑天涯
数据库
参考资料[1]MySQL体系架构简介[2]MySQL整体架构一览目录1.路径2.文件3.配置4.逻辑系统架构4.1应用层4.2MySQL服务层4.3存储引擎层5.SQLSELECT语句执行过程第1步:Connectors:客户端/服务端通信协议第2步:查询缓存第3步:Analyzer分析器第4步:Optimizer优化器:查询优化第5步:查询执行引擎Actuator第6步返回结果给客户端1.路径路
docker部署mysql5.7
a cool fish(无名)
docker 容器 运维
1.拉取MySQL5.7镜像打开终端或命令行,执行以下命令来拉取MySQL5.7的Docker镜像:dockerpullmysql:5.72.运行MySQL容器使用以下命令来运行MySQL容器,并将其端口映射到主机的端口上,以便外部用户可以访问:dockerrun--namemysql57-eMYSQL_ROOT_PASSWORD=my-secret-pw-p3306:3306-dmysql:5.
JAVA架构师需要掌握的常用架构模式有哪些?
猿享天开
Java开发从入门到精通 java 架构 开发语言
引言Java架构师必须掌握常用技术组合及其选型逻辑。技术组合的选择直接影响系统的可扩展性、性能和维护成本。以下是当前主流技术组合、选型原则及常用架构应用的详细说明:一、当前主流技术组合及其应用场景1.基础开发框架技术组合应用场景核心优势SpringBoot+MyBatis+MySQL中小型单体应用、快速迭代业务开发效率高、ORM轻量、数据库兼容性强SpringBoot+JPA+PostgreSQL
docker部署mysql 5.7(开发环境)
运维开发那些事
docker mysql docker mysql
由于最近开发一个devops项目,需要用到mysql,所以为了方便,这里使用docker进行部署。所以记录一下!思路:1、创建相应目录2、创建配置文间3、运行容器4、进入容器内部修改root登录权限5、测试连接(如果是云服务器,需要在防火墙开通相应端口)1、创建相应目录mkdir-p/opt/mysql/{data,logs,conf}chmod777/opt/mysql/logs-R2、创建配置
MySQL性能优化MySQL索引失效的13种隐蔽场景排查及解决方法
C_V_Better
mysql java性能优化 sql 性能优化 数据库 mysql 后端
在使用MySQL数据库时,索引是提高查询性能的重要手段。然而,如果索引使用不当,可能会导致索引失效,从而影响数据库的性能。本文将介绍MySQL索引失效场景,并通过实际案例进行详细分析,帮助你更好地理解和避免这些问题。一、索引失效的13种隐蔽场景1.使用OR条件查询当使用OR条件查询时,如果OR前后的条件列没有都建立索引,索引可能会失效。例如:SELECT*FROMusersWHEREname='T
更改MySQL数据库中字段的指定数据位技巧
真想骂*
数据库 mysql
在数据库管理中,有时我们需要对MySQL数据库中的特定字段数据进行部分修改,而不是整体替换。这种操作在数据清洗、数据标准化或数据迁移等场景中尤为常见。本文将详细介绍如何在MySQL中更改数据库字段的指定数据位,帮助您更高效地完成这一任务。一、基本概念与准备在MySQL中,我们可以使用UPDATE语句来更新表中的数据。UPDATE语句的基本语法如下:sql复制代码UPDATEtable_nameSE
政企学习考试系统(源码+文档+部署+讲解)
开源项目介绍
引言在数字化时代背景下,政企学习考试系统为企业和政府机构提供了一个高效的学习和培训环境。通过整合多种教育资源和学习工具,该平台旨在提升员工的专业技能和知识水平,促进组织的持续发展和创新。系统概述政企学习考试系统采用前后端分离的架构设计,服务端基于MySQL5.7+、JDK1.8+和Redis,前端则采用VUE2.6.14和element-ui2.15.6,并在NODE14.21.3(>=8.9)环
简述mysql 主从复制原理及其工作过程,配置一主两从并验证。
2301_77950376
mysql 数据库
MySQL主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作。MySQL主从同步是基于BinLog实现的,而BinLog记录的是原始SQL语句。当主库数据发生变更时,写入本地BinLog文件从库IO线程发起dump主库BinLog文件的请求主库IO线程
安装MySQL在Linux环境下
苒苒鸭
mysql linux
1,上传源码2,创建用户组[root@openEuler-1~]#groupaddmysql3,创建用户来运行数据库[root@openEuler-1~]#useradd-r-gmysql-s/bin/falsemysql4,将压缩文件解压到/usr/local/中[root@openEuler-1~]#tarxfmysql-8.0.36-linux-glibc2.12-x86_64.tar.xz
docker 构建 lnmp 环境
dockerlnmp
使用docker-compose编排的一套lnmp环境,并补充了nginx/php/mysql/redis的配置文件,补充了php的常用扩展。给到了fpm/swoole的部署、运行示例。可以方便大家快速搭建开发、生产环境、学习docker技能(涉及了镜像打包、Entrypoint、yml高大上的写法extends&引用)。github完整示例:docker-lnmpdocker-lnmp.envC
keepalived+mysql主从自动切换_使用keepalived实现对mysql主从复制的主备自动切换
PTE柒加
,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换。实验环境中用两台主机搭建了一个mysql主从复制的环境,两台机器分别安装了keepalived,用一个虚IP实现mysql服务器的主备自动切换功能.模拟环境:VIP:192.168.1.197:虚拟IP地址Master:192.168.1.198:主数据库IP地址Slave:192.168.1.199:从数据库IP地址备注
Prometheus 监控 Redis 集群,Mysql 并显示到 Granfana 仪表盘
懒人P
Prometheus redis prometheus 数据库
Prometheus监控Redis集群,Mysql一,监控Redis1.1在redis机器上安装redis_exporter1.2配置prometheus配置文件1.3设置redismaxmemory1.4导入redis监控模板736二,监控Mysql2.1登录mysql授权2.2下载安装、配置、启动mysqld_exporter2.3查看指标是否正常2.4在prometheus端添加监控任务2.
ubuntu安装mysql集群_Ubuntu 20.10单机安装MySQL 8.0.22 NDB集群
罗德呀
ubuntu安装mysql集群
MySQL官网下载mysql-cluster_8.0.22-1ubuntu20.04_amd64.deb-bundle.tar并解压:sudotar-vxfmysql-cluster_8.0.22-1ubuntu20.04_amd64.deb-bundle.tar解压后可看到很多deb包安装管理节点:sudodpkg-imysql-cluster-community-management-serv
13 | MySQL主从数据库同步是如何实现的?
_Rye_
后端存储 数据库 mysql
回顾我们之前讲MySQL相关的几节,会发现主从同步有多重要。解决数据可靠性的问题需要用到主从同步;解决MySQL服务高可用要用到主从同步;应对高并发的时候,还是要用到主从同步。我们在运维MySQL集群时,遇到的很多常见的问题,比如说,为什么从节点故障会影响到主节点?为什么主从切换之后丢数据了?为什么明明没有更新数据,客户端读到的数据还是变来变去的?这些都和主从同步的配置有密切的关系。不但要理解My
MySQL:主从同步
计科6班
mysql 数据库
目录一、MySQL主从同步原理二、binlog的格式2.1ROW模式2.2STATEMENT模式2.3MIX模式三、同步方式四、同步的进度谁来记录的五、复制线程5.1复制线程什么时候启动的?5.2复制过程中断怎么办?六、发生了主从延迟怎么办6.1使用并行复制6.2使用半同步复制6.3调整同步线程配置6.4检查主服务器负载总结提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档一、MyS
MYSQL的BinLog实现主备同步
之诚
数据库
一般线上的MYSQL的数据库都会有备库,主备库之间的同步都是使用的BinLog日志来实现的。备库建议设置成只读备库只读的话,它只能进行查询语句的操作,不会误改数据库导致主备不一致防止在备库切换成主库过程中,双写的时候出现不一致的问题可以通过数据库是否只读的状态可以判断出主库和备库binlog如何同步的备库需要设置成只读,设置主库的ip和用户名密码,以及开始同步的binlog起点偏移量备库和主库之间
Ubuntu 上安装 MySQL 8.0.22
java 凯
ubuntu mysql adb
在Ubuntu上安装MySQL8.0.22,可以通过以下步骤完成:步骤1:更新系统软件包sudoaptupdatesudoaptupgrade-y步骤2:下载MySQL官方APT仓库包前往MySQL官方下载页面获取APT仓库配置包的链接:MySQLAPTRepository使用以下命令下载:wgethttps://dev.mysql.com/get/mysql-apt-config_0.8.24-
MySQL8.0 innodb Cluster 高可用集群部署(MySQL、MySQL Shell、MySQL Router安装)
m0_74824687
面试 学习路线 阿里巴巴 mysql adb android
简介MySQLInnoDB集群(Cluster)提供了一个集成的,本地的,HA解决方案。MysqInnodbCluster是利用组复制的pxos协议,保障数据一致性,组复制支持单主模式和多主模式。InnoDBCluster组件:MySQLGroupReplication,简称MGR,是MySQL的主从同步高可用方案,包括数据同步及角色选举MysqlShell是InnoDBCluster的管理工具,
mysql基本使用
沉下心来学技术
mysql oracle 数据库
什么是数据库?数据库是按照数据结构来组织、存储和管理数据的仓库。什么是数据库管理系统(DBMS)?数据库管理系统(DBMS)是用于创建、管理和维护数据库的软件。什么是SQL?SQL(StructuredQueryLanguage)是一种用于管理和操作数据库的语言。什么是MySQL?MySQL是一种开源的关系型数据库管理系统。关系型数据库和非关系型数据库的区别?关系型数据库使用表格来存储数据,每个表
什么是运维?运维主要做哪些工作?
牛奶咖啡13
运维/测试 运维工程师 什么是运维 运维的工作内容
今天先探讨下运维主要做什么,至于需要的具体技能、需要会的(MySQL?Apache?python?)首先还是要重申一下,我们这里的运维不是指工厂设备维护,也不是办公IT支持,我们这里讨论的运维工作只限于大型业务系统的运维,比如阿里、美团、京东做运维的攻城狮们,需要过硬的技术、敏捷的头脑、还有,还有就是强悍的体魄。一、什么是运维运维顾名思义就是运行维护,运维工程师就是要做好生产系统的稳定运行维护工作
MySQL核心技术原理之:内存与磁盘管理
AI天才研究院
编程实践 大数据 人工智能 语言模型 Java Python 架构设计
作者:禅与计算机程序设计艺术文章目录1.简介1.1引言1.2作者简介2.背景介绍2.1为什么需要存储管理?2.2MySQL存储管理概览3.基本概念术语说明3.1数据类型3.2数据模型4.核心算法原理和具体操作步骤以及数学公式讲解4.1BufferPool缓存管理4.1.1缓存的基本概念4.1.2BufferPool缓存介绍4.1.3BufferPool缓存的操作步骤4.1.4InnoDB的双页写入
辗转相处求最大公约数
沐刃青蛟
C++ 漏洞
无言面对”江东父老“了,接触编程一年了,今天发现还不会辗转相除法求最大公约数。惭愧惭愧!
为此,总结一下以方便日后忘了好查找。
1.输入要比较的两个数a,b
忽略:2.比较大小(因为后面要的是大的数对小的数做%操作)
3.辗转相除(用循环不停的取余,如a%b,直至b=0)
4.最后的a为两数的最大公约数
&
F5负载均衡会话保持技术及原理技术白皮书
bijian1013
F5 负载均衡
一.什么是会话保持? 在大多数电子商务的应用系统或者需要进行用户身份认证的在线系统中,一个客户与服务器经常经过好几次的交互过程才能完成一笔交易或者是一个请求的完成。由于这几次交互过程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,或者上几步的交互过程结果,服务器进行下
Object.equals方法:重载还是覆盖
Cwind
java generics override overload
本文译自StackOverflow上对此问题的讨论。
原问题链接
在阅读Joshua Bloch的《Effective Java(第二版)》第8条“覆盖equals时请遵守通用约定”时对如下论述有疑问:
“不要将equals声明中的Object对象替换为其他的类型。程序员编写出下面这样的equals方法并不鲜见,这会使程序员花上数个小时都搞不清它为什么不能正常工作:”
pu
初始线程
15700786134
暑假学习的第一课是讲线程,任务是是界面上的一条线运动起来。
既然是在界面上,那必定得先有一个界面,所以第一步就是,自己的类继承JAVA中的JFrame,在新建的类中写一个界面,代码如下:
public class ShapeFr
Linux的tcpdump
被触发
tcpdump
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支 持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
实用命令实例
默认启动
tcpdump
普通情况下,直
安卓程序listview优化后还是卡顿
肆无忌惮_
ListView
最近用eclipse开发一个安卓app,listview使用baseadapter,里面有一个ImageView和两个TextView。使用了Holder内部类进行优化了还是很卡顿。后来发现是图片资源的问题。把一张分辨率高的图片放在了drawable-mdpi文件夹下,当我在每个item中显示,他都要进行缩放,导致很卡顿。解决办法是把这个高分辨率图片放到drawable-xxhdpi下。
&nb
扩展easyUI tab控件,添加加载遮罩效果
知了ing
jquery
(function () {
$.extend($.fn.tabs.methods, {
//显示遮罩
loading: function (jq, msg) {
return jq.each(function () {
var panel = $(this).tabs(&
gradle上传jar到nexus
矮蛋蛋
gradle
原文地址:
https://docs.gradle.org/current/userguide/maven_plugin.html
configurations {
deployerJars
}
dependencies {
deployerJars "org.apache.maven.wagon
千万条数据外网导入数据库的解决方案。
alleni123
sql mysql
从某网上爬了数千万的数据,存在文本中。
然后要导入mysql数据库。
悲剧的是数据库和我存数据的服务器不在一个内网里面。。
ping了一下, 19ms的延迟。
于是下面的代码是没用的。
ps = con.prepareStatement(sql);
ps.setString(1, info.getYear())............;
ps.exec
JAVA IO InputStreamReader和OutputStreamReader
百合不是茶
JAVA.io操作 字符流
这是第三篇关于java.io的文章了,从开始对io的不了解-->熟悉--->模糊,是这几天来对文件操作中最大的感受,本来自己认为的熟悉了的,刚刚在回想起前面学的好像又不是很清晰了,模糊对我现在或许是最好的鼓励 我会更加的去学 加油!:
JAVA的API提供了另外一种数据保存途径,使用字符流来保存的,字符流只能保存字符形式的流
字节流和字符的难点:a,怎么将读到的数据
MO、MT解读
bijian1013
GSM
MO= Mobile originate,上行,即用户上发给SP的信息。MT= Mobile Terminate,下行,即SP端下发给用户的信息;
上行:mo提交短信到短信中心下行:mt短信中心向特定的用户转发短信,你的短信是这样的,你所提交的短信,投递的地址是短信中心。短信中心收到你的短信后,存储转发,转发的时候就会根据你填写的接收方号码寻找路由,下发。在彩信领域是一样的道理。下行业务:由SP
五个JavaScript基础问题
bijian1013
JavaScript call apply this Hoisting
下面是五个关于前端相关的基础问题,但却很能体现JavaScript的基本功底。
问题1:Scope作用范围
考虑下面的代码:
(function() {
var a = b = 5;
})();
console.log(b);
什么会被打印在控制台上?
回答:
上面的代码会打印 5。
&nbs
【Thrift二】Thrift Hello World
bit1129
Hello world
本篇,不考虑细节问题和为什么,先照葫芦画瓢写一个Thrift版本的Hello World,了解Thrift RPC服务开发的基本流程
1. 在Intellij中创建一个Maven模块,加入对Thrift的依赖,同时还要加上slf4j依赖,如果不加slf4j依赖,在后面启动Thrift Server时会报错
<dependency>
【Avro一】Avro入门
bit1129
入门
本文的目的主要是总结下基于Avro Schema代码生成,然后进行序列化和反序列化开发的基本流程。需要指出的是,Avro并不要求一定得根据Schema文件生成代码,这对于动态类型语言很有用。
1. 添加Maven依赖
<?xml version="1.0" encoding="UTF-8"?>
<proj
安装nginx+ngx_lua支持WAF防护功能
ronin47
需要的软件:LuaJIT-2.0.0.tar.gz nginx-1.4.4.tar.gz &nb
java-5.查找最小的K个元素-使用最大堆
bylijinnan
java
import java.util.Arrays;
import java.util.Random;
public class MinKElement {
/**
* 5.最小的K个元素
* I would like to use MaxHeap.
* using QuickSort is also OK
*/
public static void
TCP的TIME-WAIT
bylijinnan
socket
原文连接:
http://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html
以下为对原文的阅读笔记
说明:
主动关闭的一方称为local end,被动关闭的一方称为remote end
本地IP、本地端口、远端IP、远端端口这一“四元组”称为quadruplet,也称为socket
1、TIME_WA
jquery ajax 序列化表单
coder_xpf
Jquery ajax 序列化
checkbox 如果不设定值,默认选中值为on;设定值之后,选中则为设定的值
<input type="checkbox" name="favor" id="favor" checked="checked"/>
$("#favor&quo
Apache集群乱码和最高并发控制
cuisuqiang
apache tomcat 并发 集群 乱码
都知道如果使用Http访问,那么在Connector中增加URIEncoding即可,其实使用AJP时也一样,增加useBodyEncodingForURI和URIEncoding即可。
最大连接数也是一样的,增加maxThreads属性即可,如下,配置如下:
<Connector maxThreads="300" port="8019" prot
websocket
dalan_123
websocket
一、低延迟的客户端-服务器 和 服务器-客户端的连接
很多时候所谓的http的请求、响应的模式,都是客户端加载一个网页,直到用户在进行下一次点击的时候,什么都不会发生。并且所有的http的通信都是客户端控制的,这时候就需要用户的互动或定期轮训的,以便从服务器端加载新的数据。
通常采用的技术比如推送和comet(使用http长连接、无需安装浏览器安装插件的两种方式:基于ajax的长
菜鸟分析网络执法官
dcj3sjt126com
网络
最近在论坛上看到很多贴子在讨论网络执法官的问题。菜鸟我正好知道这回事情.人道"人之患好为人师" 手里忍不住,就写点东西吧. 我也很忙.又没有MM,又没有MONEY....晕倒有点跑题.
OK,闲话少说,切如正题. 要了解网络执法官的原理. 就要先了解局域网的通信的原理.
前面我们看到了.在以太网上传输的都是具有以太网头的数据包.
Android相对布局属性全集
dcj3sjt126com
android
RelativeLayout布局android:layout_marginTop="25dip" //顶部距离android:gravity="left" //空间布局位置android:layout_marginLeft="15dip //距离左边距
// 相对于给定ID控件android:layout_above 将该控件的底部置于给定ID的
Tomcat内存设置详解
eksliang
jvm tomcat tomcat内存设置
Java内存溢出详解
一、常见的Java内存溢出有以下三种:
1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。
可以利用JVM提
Java6 JVM参数选项
greatwqs
java HotSpot jvm jvm参数 JVM Options
Java 6 JVM参数选项大全(中文版)
作者:Ken Wu
Email: ken.wug@gmail.com
转载本文档请注明原文链接 http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm!
本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Opt
weblogic创建JMC
i5land
weblogic jms
进入 weblogic控制太
1.创建持久化存储
--Services--Persistant Stores--new--Create FileStores--name随便起--target默认--Directory写入在本机建立的文件夹的路径--ok
2.创建JMS服务器
--Services--Messaging--JMS Servers--new--name随便起--Pers
基于 DHT 网络的磁力链接和BT种子的搜索引擎架构
justjavac
DHT
上周开发了一个磁力链接和 BT 种子的搜索引擎 {Magnet & Torrent},本文简单介绍一下主要的系统功能和用到的技术。
系统包括几个独立的部分:
使用 Python 的 Scrapy 框架开发的网络爬虫,用来爬取磁力链接和种子;
使用 PHP CI 框架开发的简易网站;
搜索引擎目前直接使用的 MySQL,将来可以考虑使
sql添加、删除表中的列
macroli
sql
添加没有默认值:alter table Test add BazaarType char(1)
有默认值的添加列:alter table Test add BazaarType char(1) default(0)
删除没有默认值的列:alter table Test drop COLUMN BazaarType
删除有默认值的列:先删除约束(默认值)alter table Test DRO
PHP中二维数组的排序方法
abc123456789cba
排序 二维数组 PHP
<?php/*** @package BugFree* @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $*** Sort an two-dimension array by some level
hive优化之------控制hive任务中的map数和reduce数
superlxw1234
hive hive优化
一、 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);2.
Spring Boot 1.2.4 发布
wiselyman
spring boot
Spring Boot 1.2.4已于6.4日发布,repo.spring.io and Maven Central可以下载(推荐使用maven或者gradle构建下载)。
这是一个维护版本,包含了一些修复small number of fixes,建议所有的用户升级。
Spring Boot 1.3的第一个里程碑版本将在几天后发布,包含许多