本篇内容主要讲解“MySQL8安装中经常遇到的一些问题及汇总”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MYSQL8安装中经常遇到的一些问题及汇总”吧!
成都创新互联专注于青神网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供青神营销型网站建设,青神网站制作、青神网页设计、青神网站官网定制、重庆小程序开发服务,打造青神网络公司原创品牌,更为您提供青神网站排名全网营销落地服务。
1 在SQL_MODE的地方添加
ONLY_FULL_GROUP_BY, 这个一直是被其他数据库DBER诟病的地方,在之前MYSQL 的GROUP BY 经常因为不严谨,而被吐槽,添加这个参数后,MYSQL的GROUP BY 和其他数据库的 GROUP BY 的方式会一致,不严谨的写法将被禁止。(不严谨的写法就是,写GROUP BY 语句的 select 列和 group by 中的列不一致)。
2 以下配置就不要在MY.CNF中存在,因为MYSQL 8 的格式统一为barracuda
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda
3 expire_logs_day 将在未来的版本中被消灭,取代他的是binlog_expire_logs_seconds=432000 来代替,这里可以尝试把天换算成秒
4 Undo table space 的设置不在设置中,MYSQL 会自动默认进行设置2 个undo 空间,如果还有问题,需要自己去创建undo table space
5 原来的密码插件,被MYSQL8.0 变为密码组件,首先在原来的my.cnf中药去掉如下设置
#disconnect_on_expired_password=disable
#default_password_lifetime=0
#validate_password_policy=LOW #STRONG
#validate-password=FORCE_PLUS_PERMANENT
以及在开始启动时加载的 validate_password.so
官方文档,中解释道 通过 yum 或 rpm方式安装的MYSQL 都包括了 component_validata_password 的组件。
如果是通过其他方式,(这里是通过percona 二进制方式安装的),在进入到MYSQL后直接键入
INSTALL COMPONENT 'file://component_validate_password';
validate_password.check_user_name 是对密码中是否包含用户名进行比对,默认是打开的,如果密码中包含用户的名字则密码生成会错误。
validate_password.mixed_case_count 是对密码中的用户名进行判断是否有大小写的设置,0 是不需要混合,1 是默认需要进行大小写混合
validate_password.policy= low 这是对密码的复杂度进行的要求,low 是要求密码的长度, MEDIUM 是要求大小写,数字和密码成都, STRONG 是除了上述的要求外,还要想字典文件中的内容。
最后MYSQL在MYSQL8 中加入了 connection-control plugin ,这个插件的主要作用在于对于原来没有对服务器进行连接管理的内容补充,意在对服务器不断的尝试性访问失败后,如何处理这些不断进行的连接。
可以在配置文件加入以下内容
connection-control=FORCE_PLUS_PERMANENT
connection-control-failed-login-attempts=FORCE_PLUS_PERMANENT
connection_control_failed_connections_threshold=4
connection_control_min_connection_delay=1500
并在此之前安装好插件
plugin-load-add=connection_control.so
并在MYSQL 中执行命令
INSTALL PLUGIN CONNECTION_CONTROL
SONAME 'connection_control.so';
INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS
SONAME 'connection_control.so';
在设置好后,通过
connection_control_failed_connections_threshold来继续判断客户端尝试多少次连接失败的情况下
开始进行超过连接后的连接超时时间
connection_control_min_connection_delay=1500 单位是毫秒
这有效的弥补了之前MYSQL 在这方面的缺陷,更加保证了连接的安全性和如何弥补攻击性的连接的处理方式
除此以外还有一些默认值的改变
1 max_allow_packet 从原来的 4MB 变为 64MB
2 table_open_cache 从原来的 2000 变为 4000
3 log_error_verbosity 从原来的notes 变为 warnings
4 innodb_flush_neighbors 从原来的 1 变为 0
5 innodb_max_dirty-pages_pct 从原来的 75% 到 90%
6 transaction-write-set-extraction 从原来的off变为 XXHASH64
7 Slave_rows_search_algorithms 从原来的 index_scan, table scan 变为 index_scan hash_scan
8 event_scheduler 从原来的 0 变为 1
到此,相信大家对“MYSQL8安装中经常遇到的一些问题及汇总”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!