1、更改最大连接数(默认是151)
要根据mysql的承载能力更改在配置文件中更改max_connections=10000
如果最大连接数修改的过大,还需在service文件中进行修改,添加LimitNOFILE=10000
systemctl daemon-reload && systemctl restart mysql
2、存储引擎改为InnoDB,设置buffer缓冲池大小保存索引和原始数据,一般设置物理内存的80%
innodb_buffer_poor-size = 24G
3、给表中的字段加索引,提高查询速度
4、对事务日志进行优化
在配置文件中进行修改:innodb_flush_log_at_trx_commit=0|1|2
数据量不大,1合适,写一次,I/O一次,比较安全,但效率低。适用于银行金融等行业
数据量大用,2合适,1s中进行一次I/O,效率高,但是不安全。
调整事务的隔离级别为可重复读
transaction_isolation = REPEATABLE-READ
5、对慢查询日志进行优化
long_query_time=N #慢查询的阀值,单位秒,默认为10s,修改为3s
例如:
[mysqld]
slow_query_log=ON 开启查询功能
long_query_time=3
使用慢查询分析工具,对查询出来的语句进行优化
如:mesqldumpslow -s c -t 2 /var/lib/mysql/centos8-slow.log
6、主从复制:默认是异步复制
默认是异步复制:客户端把用户请求发到主节点更新数据库之后,只要事务一提交,返回成功结果。但数据有可能还没有备份到从节点,效率高,但会出现单点问题。
同步复制:客户端把用户请求发到主节点更新数据库之后,主节点会同步到各个从节点上,所有的从节点同步完成就会之后才会向客户端反馈成功结果,客户端等待时间有可能很长。安全性高,但效率太慢
半同步复制:客户端把用户请求发到主节点更新数据库之后,只要有一个从节点同步完成就会向客户端反馈成功结果。 即实现了数据安全,又提高了效率。
半同步超时机制:设置多长时间内没有一个从节点同步完成,直接返回客户端结果(默认事件10s)
7、GTID复制 (会自动寻找到相应的二进制位置开始同步,并且可以增加dump线程数量实现并行复制)
8、二进制日志采用ROW格式
binlog_format=row
9、MyCAT读写分离(写操作发送到主节点,读操作发送到从节点)
1.MySQL优化
原创
©著作权归作者所有:来自51CTO博客作者没有天蝎的冥王星的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:2.二进制格式安装 MySQL
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
1.MySQL存储过程
存储过程的编写方法
mysql 存储过程 -
1.MySQL数据类型
MySQL数据类型
数据库 mysql 赋值 字段 -
1.MySQL架构篇【mysql高级】
1.MySQL架构篇【mysql高级】
mysql 架构 数据库 linux 数据目录 -
1.MySQL数据库的介绍
MySQL数据库的介绍什么是数据库数据库(Database)就是按照数据结构来组织,存储和管理数据的仓库 专业的数
mysql big data 数据库 数据 关系型数据库 -
1.MySQL高级部分之架构介绍
关于MySQL的安装可以参考我之前的博客点击跳转由于是高级部分 也就不介绍My
数据库 mysql java python linux