文章目录
MySQL 优化
引擎
###查看引擎
mysql> show engines;
mysql> SHOW VARIABLES LIKE '%storage_engine%';
mysql> show create table t1;
\\查看建表信息
临时指定引擎
mysql> create table innodb1(id int)engine=innodb;
修改默认引擎
vim /etc/my.cnf
[mysqld]
default-storage-engine=INNODB
----引擎
修改已经存在的表引擎
mysql> alter table t2 engine=myisam;
优化:
调优思路
- 1.数据库设计与规划–以后再修该很麻烦,估计数据量,连接数,使用什么存储引擎
- 2.数据的应用–怎样查询数据,sql语句的优化
- 3.mysql服务优化–内存的使用,磁盘的使用
- 4.操作系统的优化–内核、cpu、磁盘读写、文件句柄数
- 5.升级硬件设备
- 6.创建索引提升查询速度、分库分表、读写分离(Mysql集群 主 从)
查看最近一个sql语句产生的错误警告
看其他的需要看.err日志
mysql> show warnings;
显示系统中正在运行的所有进程。
mysql> show processlist;
查看最近一个sql语句产生的错误信息
mysql> show errors;
字符集设置
临时配置
给库设置字符集
mysql> create database db1 CHARACTER SET = utf8;
给表设置字符集
mysql> create table t1(id int(10)) CHARACTER SET = utf8;
永久配置
# vim /etc/my.cnf
[mysqld]
character_set_server = utf8
# systemctl restart mysql
设置数据库最大访问链接是
查看慢查询是否配置成功
mysql> show variables like '%query%';
查看数据库当前最大的连接数
mysql> show variables like '%max_connections%';
配置mysql的并发连接数与超时时间
# vim /etc/my.cnf
max_connections = 1024
\\并发连接数,根据实际情况设置连接数。
connect_timeout= 5
\\单位秒 ----超时时间,默认30秒
innodb 数据和索引的内存缓冲区
innodb-buffer-pool-size=*
- 缓存 InnoDB 数据和索引的内存缓冲区的大小
- 这个值设得越高,访问表中数据需要得磁盘 I/O 越少。在一个专用的数据库服务器上,你可以设置这个参数达机器物理内存大小的 80%。
vim /etc/my.cnf
innodb-buffer-pool-size=2G
本文围绕MySQL优化展开,涵盖引擎设置,如临时指定、修改默认及已存在表的引擎;介绍调优思路,包括数据库设计、数据应用、服务及系统优化等;还涉及字符集临时与永久配置、数据库最大访问链接设置、慢查询配置查看,以及innodb数据和索引内存缓冲区设置。

1037

被折叠的 条评论
为什么被折叠?



