今天想和大家聊一个让无数DBA抓狂的问题:MySQL异常宕机后,重启卡在“InnoDB: Starting crash recovery...”动弹不得,一等就是十几二十分钟,甚至更久。 = 2GB 总大小 innodb_log_files_in_group = 2 innodb_log_file_size = 1G 注意:修改 innodb_log_file_size 需干净关闭 MySQL 启用独立Undo表空间(MySQL 5.7+) 优势:便于管理、支持在线收缩、提升恢复效率。 8.0特有优化(强烈推荐升级) 特性 说明 Redo Log重构 MySQL8.0.21+重写了redo log子系统,吞吐更高,恢复更快 Instant DDL 减少元数据变更对 undo/redo 注意: 极端情况:跳过恢复(仅用于抢救数据),这个昨天的文章里已经说明了,可以参考: MySQL崩溃恢复神器:innodb_force_recovery 参数详解,DBA 必备!
关于 MySQL 写缓存(Change Buffer),我们先来看看 InnoDB 的技术架构图: ? 3、MySQL 数据库正常关闭时。 3、将上述两个动作记入 redo log 中(图中 3 和 4)。 以下几种情况开启 Change Buffer,会使得 MySQL 数据库明显提升: 1、数据库大部分是非唯一索引 2、业务是写多读少 3、写入数据之后并不会立即读取它 总体来说 InnoDB 的写缓存( Change Buffer)应用得当,会极大提高 MySQL 数据库的性能,使用不恰当的话,可能会适得其反。
感谢Python的concurrent.futures模块,只需3行代码就可以将一个普通程序转换为一个可以跨CPU核心并行处理数据的程序。 ? 我们只需修改3行代码。 ? 上面的代码中的: ? 你有多少CPU核心就启动多少Python进程,在我的例子中是6个。实际的处理代码是这样的: ?
本文将深入讲解 MySQL 索引的底层原理、常见类型、使用技巧,并结合 EXPLAIN 工具分析查询执行计划,配合慢查询日志识别瓶颈,逐步建立起系统的 MySQL 查询优化知识体系。 /mysql-slow.log long_query_time = 1 6.2 查询慢日志内容 mysqldumpslow -s r -t 10 /var/log/mysql/mysql-slow.log 实践案例:优化百万级用户查询 9.1 初始场景 SELECT * FROM users WHERE email = 'abc@example.com'; 数据量:用户表 500 万条 无索引:执行时间 > 3 delete'); -- 分配权限给角色 INSERT INTO role_permission(role_id, permission_id) VALUES (1, 1), (1, 2), (1, 3) 分配默认角色(事务) START TRANSACTION; INSERT INTO users(username, password, email) VALUES('charlie', 'hashed_pwd3'
感谢Python的concurrent.futures模块,只需3行代码就可以将一个普通程序转换为一个可以跨CPU核心并行处理数据的程序。 ? 我们只需修改3行代码。 ? 上面的代码中的: ? 你有多少CPU核心就启动多少Python进程,在我的例子中是6个。实际的处理代码是这样的: ?
视频剪辑上限可达几分钟,远远超过当下最好的3D CNN,且成本更低。 此外,与现代3D 卷积神经网络(CNN)相比,TimeSformer 的训练速度提高了大约3倍,推理所需计算量不到原来的十分之一。这是支持需要实时或按需处理视频的应用程序的重要一步。 TimeSformer 与先进的3D 卷积神经网络在 Kinetics-400(左)和 Kinetics-600(右)动作识别基准上的视频分类精度。 传统的3D卷积神经网络由于需要在视频的所有时空位置上使用大量的滤波器,所以计算成本也很高。 这与目前的3D CNN有很大不同,后者仅限于处理最多几秒的片段,而且是识别长时间活动的关键要求。 例如,看一段演示如何制作法式吐司的视频。
3)添加数据: 先添加主表,再添加副表 4)修改数据: 先修改副表,再修改主表 5)删除数据: 先删除副表,再删除主表 2.8、级联操作 级联修改: ON UPDATE CASCADE 级联删除: ON employee_department_fk FOREIGN KEY(DepartmentId) REFERENCES T_Department(Id) ON UPDATE CASCADE ON DELETE CASCADE ) 3、 3.2、MySQL变量 MySQL变量包括:全局变量、会话变量、局部变量 全局变量(内置变量):mysql数据库内置的变量 (所有连接都起作用) 查看所有全局变量: show variables 查看某个全局变量 num = 1 THEN SET str = '星期一'; -- 注意用SET进行赋值 ELSEIF num = 2 THEN SET str = '星期二'; ELSEIF num = 3 mysql用户的密码?
Twentyfifteen默认加载了Google Fonts,但国内的这大局网,会导致无法加载,从而影响整个阻塞整个页面的渲染。
提速法则一览 以上优化方案基于android gradle tools 3.0-alpha 关于Santa Tracker Project 9 个模块,包括Wear 500 多个Java文件 1700
感谢Python的concurrent.futures模块,只需3行代码就可以将一个普通程序转换为一个可以跨CPU核心并行处理数据的程序。 ? 我们只需修改3行代码。 ? 上面的代码中的: ? 你有多少CPU核心就启动多少Python进程,在我的例子中是6个。实际的处理代码是这样的: ?
虽然 HTTP/2 提高了网页的性能,但是并不代表它已经是完美的了,HTTP/3 就是为了解决 HTTP/2 所存在的一些问题而被推出来的。 一、HTTP/1.1发明以来发生了哪些变化? 3.明文传输--带来的不安全性 HTTP/1.1在传输数据时,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份,这在一定程度上无法保证数据的安全性。 六、HTTP/3 新特性 1.HTTP/2 的缺点 虽然 HTTP/2 解决了很多之前旧版本的问题,但是它还是存在一个巨大的问题,主要是底层支撑的 TCP 协议造成的。 总之,在传输数据之前,我们需要花掉 3~4 个 RTT。 TCP的队头阻塞并没有彻底解决 上文我们提到在HTTP/2中,多个请求是跑在一个TCP管道中的。 不过HTTP/3目前还处于草案阶段,正式发布前可能会有变动,所以本文尽量不涉及那些不稳定的细节。
1、连接 mysql -u username -ppassword -P 3306 -D database -hip 2、列显示:"\G" mysql> select * from HUMMOCK_BLACK_LIST gmt_created: 2011-03-15 14:50:25 server_name: LoadTest gmt_modified_microsecond: 1300172398493 3、 去重操作:distinct mysql> select distinct server_name from HUMMOCK_BLACK_LIST limit 10; +-------------+
Mysql常用的索引类型 类型 说明 Normal(普通) 普通索引,没任何限制。 Unique(唯一) 唯一索引要求健值不能重复。 3. 平衡二叉树(AVL Tree) 平衡二叉树的定义:左右子树深度差绝对值不能超过1。 什么意思呢?比如左子树的深度是2,右子树的深度只能是1或者3。 InnoDB 逻辑存储结构 MySQL的存储结构分为5级:表空间、段、簇、页、行。 ? 页 Page https://dev.mysql.com/doc/refman/5.7/en/innodb-row-format.html 为了高效管理物理空间,对簇进一步细分,就得到了页。 https://www.cs.usfca.edu/~galles/visualization/BTree.html 比如MaxDegree(路数)是3的时候,我们插入数据1、2、3,在插入3的时候,本来应该在第一个磁盘块
观察到数据库的连接比如 :3306 在数据库里可以使用 show processlist 来看连接 (必要的时候可以停止原master数据库) [root@origin-master ~]# /etc/init.d/mysql stop Shutting down MySQL........................................[ OK ].
会包含sock文件找不到、MySQL未初始化 还比如会反解0.0.0.0到本地失败的信息 2、服务器运行过程中的错误信息 3、时间调度器运行一个时间时产生的信息 演示: mysql> SET GLOBAL slow_query_log=1; mysql> SET GLOBAL long_query_time=2; mysql> USE mysql file mysql-bin.index mysql-bin.index: ASCII text # cat mysql-bin.index /var/lib/mysql/mysql-bin 默认值显示mysql-bin.index中的第一个二进制日志内容 如果查看二进制文件会看到比这里更详细的内容 mysql> SHOW BINLOG EVENTS IN 'mysql-bin mysql> SET SESSION sql_log_bin=0; 临时关闭二进制日志 mysql> source /tmp/a.sql 此路径mysql用户必须有权限访问 正确删除二进制日志
1.5 query_cache_size (1)简介: 查询缓存简称QC,使用查询缓冲,mysql将查询结果存放在缓冲区中,今后对于同样的select语句(区分大小写),将直接从缓冲区中读取结果。 一个sql查询如果以select开头,那么mysql服务器将尝试对其使用查询缓存。 (2)判断依据 mysql> show status like "%Qcache%"; +-------------------------+---------+ | Variable_name (3)配置示例 mysql> show variables like '%query_cache%' ; +------------------------------+---------+ | Variable_name query_cache_wlock_invalidate | OFF | +------------------------------+---------+ 6 rows in set (0.00 sec) mysql
关闭原集群mha 由于集群软件在侦测到主服务器失效后会干预相关资源,造成备机身份切换和IP飘移,为了避免这种影响,要关掉集群 [mysql@slave02 bin]$ masterha_check_status [mysql@slave02 bin]$ masterha_check_status --conf=/etc/app1.cnf app1 is stopped(2:NOT_RUNNING). [mysql@slave02 bin]$ ps faux | grep manager mysql 27192 0.0 0.0 103244 864 pts/2 S+ 00:23 Configuration File for keepalived global_defs { router_id LVS_slave01 } vrrp_instance VI_3 { state MASTER interface eth0 virtual_router_id 3 priority 85 advert_int 1 authentication
server_id=2 relay_log=relay-log log_bin=master-log relay_log_purge=0 read_only=1 节点slave2的配置: server_id=3 The key fingerprint is: 80:59:23:b9:f8:ce:7e:86:66:ad:23:82:b3:d9:a8:81 root@manager.zrs.com The key's ECDSA key fingerprint is 65:f7:d6:d7:ae:3b:a2:dc:2b:bc:33:64:0e:47:11:b4. server1] hostname=172.16.1.3 candidate_master=1 [server2] hostname=172.16.1.4 candidate_master=1 [server3] EnableRemoteCommands=1 3.开启服务 [root@manager ~]# systemctl start zabbix-agent.service 4.在客户端的界面上设置Hosts
测试脚本装完包后,再次执行测试脚本,就正常返回一个数字了[root@mysql-server scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg0[root@mysql-server scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gt38409这个数据从哪里来的呢 , 执行脚本的过程中生成了这个文件 /tmp/localhost-mysql_cacti_stats.txt[root@mysql-server scripts]# cat /tmp/localhost-mysql_cacti_stats.txtgg 268435456 ju:52 jv:10816055 jw:10511991 jx:6 jy:719085 jz:0 kg:0 kh:0 ki:0 kj:0 kk:0 kl:0 km:0 kn:0 ko:0 kp:3 kq:0 kr:0 ks:0 kt:0 ku:3 kv:0 kw:6 kx:87998 ky:6025810131 kz:8388608 lg:8388608 lh:4347852912824 li:4347852916081
在52CV目标检测交流群里,被提及最多的,恐怕就是YOLOv3了。 虽然新出的一些算法号称“完胜”“吊打”某某某算法,但YOLOv3 仍是被推荐最多的。 另一个重要原因是,YOLOv3是被很多人使用验证过的模型,被某个数据库验证过的某算法精度好很重要,但被社区大量验证过效果OK的算法更重要。 今天向大家推荐一个Github新工程,对YOLOv3进行模型剪枝: https://github.com/Lam1360/YOLOv3-model-pruning 这份代码是基于Python 3.6, 作者用 YOLOv3 做人手检测(在 oxford hand 数据集上训练的),并进行了模型剪枝,剪枝后YOLOv3 模型的参数量减少 80% ,FLOPs 降低 70%,推断的速度提高了100%,而