首页 > 数据库 >mysql优化参数

mysql优化参数

时间:2023-05-03 19:45:25浏览次数:34  
标签:log -- global buffer 参数 内存 mysql 优化 size

-- 隔离级别
select * from `performance_schema`.variables_by_thread where variable_name='transaction_isolation';
-- 全局级别和回话级参数  作用于
set session binlog_rows_query_log_events=on;
set GLOBAL binlog_rows_query_log_events=on;


-- 缓冲区大小
set global sort_buffer_size=16*1024*1024;
-- 对设置之后的会话有效,对之前连接的会话无效
SELECT @@global.sort_buffer_size,@@session.sort_buffer_size;


SELECT  @@session.max_join_size;

set @@session.max_join_size=DEFAULT;-- 设置后为mysql内置默认值,而不是配置文件里设置的值
set @@session.max_join_size=@@global.max_join_size;-- 会话级别设置全局

-- 查看连接字符集
show variables like '%_connection';

-- 计算负载高峰时占用的总内存,这个记过通常偏大,因为所有的线程都同时用到设定内存分配的最大值的情况几乎不存在,每个线程如果只是处理简单的工作,大约需要256KB的内存,

SELECT
	((
			@@key_buffer_size + @@innodb_buffer_pool_size + @@innodb_log_buffer_size + @@binlog_cache_size + @@max_connections 
			) * ( @@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size + @@join_buffer_size + @@thread_stack + @@tmp_table_size )/(
			1024 * 1024 * 1024 
			) 
	) AS max_memery_gb;

-- mysql实际使用的内存总和
SELECT * from sys.memory_global_total;

-- 确认是否开启了所有的内存监控项
select * from performance_schema.setup_instruments where name like '%memory%' and enabled!='YES';

sys.memory_global_total 统计值不准有三个原因

1)没有在实例启动时就开启所有的内存监控项

MySQL 8.0 之前版本默认只开启了performance_schema相关内存时间监控项。其他内存监控项默认都未启用,如需启用需要在配置文件中显示指定,可以通过如下方案启动所有内存监控项:

在配置文件中添加 performance-schema-instrument='memory/%=ON' 重启实例

 

查看慢查询是否开启
select @@slow_query_log;
慢查询时间
select @@long_query_time;
开始慢查询
set global slow_query_log=1;
慢查询文件记录
select @@slow_query_log_file;

select @@log_slow_extra;mysql 8.0.14版本之后才有,当他为true时,它将记录执行sql额外的信息

 

标签:log,--,global,buffer,参数,内存,mysql,优化,size
From: https://www.cnblogs.com/wangbiaohistory/p/17369572.html

相关文章

  • 举一个数据库死锁的例子,MySQL 怎么解决死锁?
    转载:https://juejin.cn/post/7072000882128191518分析&回答在数据库中有两种基本的锁类型:排它锁(ExclusiveLocks,即X锁)和共享锁(ShareLocks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读取,但不能修改。数据库利用这两种基......
  • mysql -- 事件
    MySQL的EVENTS是用来处理计划任务的。MySQL使用称为事件调度线程的特殊线程来执行所有预定事件。默认情况下,事件调度线程是未启用(版本低于8.0.3)的状态,如要启用它,可以执行以下命令:>SETGLOBALevent_scheduler=ON;>showvariableslike'%event_scheduler%';+-----------......
  • Apache网站优化
    Apache网页优化拓补图:推荐步骤:在centos01上安装apache配置网站,修改apache网站根目录/www/设置网站主页在centos02上安装DNS使用域名访问Centos01上使用域名www.benet.com访问,centos03使用yum安装apache使用域名www.accp.com访问在centos03上使用yum安装apache,设置网站主页访问网站......
  • docker编排参数详解(docker-compose.yml配置文件编写)
    dockercompose在Docker容器运用中具有很大的学习意义,dockercompose一.前言关于dockercompose技术可以查看官方文档 DockerCompose以下的内容是确立在已经下载好Docker以及DockerCompose,可参看DockerCompose的官方安装教程 InstallDockerCompose二.DockerCom......
  • django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.3 or newer is requi
     1、在项目中__init__.py中这个报错原因,python3.5以上版本不支持这种方式frompymysqlimportinstall_as_MySQLdbinstall_as_MySQLdb()解决:importpymysqlpymysql.version_info=(1,4,3,"final",0)#指定了pymysql的版本:1.4.3,按照你版本修改pymysql.install_as_MySQLdb()......
  • idea创建SpringBoot项目报错For artifact {mysql:mysql-connector-java:null:jar}: Th
    Forartifact{mysql:mysql-connector-java:null:jar}:Theversioncannotbeempty.报错如图:pom.xml文件如图:添加版本号:就好了......
  • 可变参数宏-默认参数
    默认参数#include<stdio.h>#defineVA_NUM_ARGS_IMPL(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,\a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,\......
  • Docker 修改容器运行参数
    修改docker容器的挂载路径原来指令-v/opt/jenkins:/var/jenkins_home期望指令-v/opt/jenkins:/var/jenkins_home-v/opt/data:/opt/data场景:原来容器中的-v参数需要增加停止所有docker容器sudodockerstop$(dockerps-a|awk'{print$1}'|tail-n+2)......
  • PHP: mysql 5.7 and php 5.6 导入记事本编号查询不了和中文乱码问题
    --https://dev.mysql.com/doc/refman/8.0/en/charset-database.htmlshowvariableslike"character_set_%";CREATEDATABASE`geovindu`CHARACTERSETutf8COLLATEutf8_general_ci;--mysql官方说明文档才知道原来MySQL8.0已经已经把默认字符集升级成ut8mb4了,和5.0有区......
  • MySQL数据库设计规范
    一、背景规范及目的MySQL数据库与oracle、sqlserver等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL......