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读写分离(写操作发送到主节点,读操作发送到从节点)