MySQL删除或禁用慢查询日志
MySQL默认是记录慢查询日志的,当慢日志文件达到一定量级时,比如GB级,就可以删除它,如果实在不需要记录,可直接禁用。
有以下几个方法可供使用。
Home of Little Jelly
MySQL默认是记录慢查询日志的,当慢日志文件达到一定量级时,比如GB级,就可以删除它,如果实在不需要记录,可直接禁用。
有以下几个方法可供使用。
最近为客户进行了一次服务器迁移,PHP做的项目,运行在Linux上,从阿里云迁移到本地自建服务器,其中最关键的是数据库迁移。
数据库使用的是MySQL,数据量较大,300G往上,怎么把这么大的数据库从线上迁移到线下是个问题。
之前有过几次迁移MySQL的经验,但数据量不大,最多也就是5G左右,导出、压缩再导入,一般1小时内就搞定了。这次不一样,数据量太大了,直接导出是行不通的,导出的文件都会很大,硬盘顶不住,所以需要使用的别的方案。
倒也用过几次阿里云的数据迁移服务,也就是DTS,不过是阿里云数据库之间的迁移,最多跨个区域,所以也不用特别的配置,这次不同,是从阿里云公网迁移到本地公网(走的内网映射,可公网访问),连接稳定性首先就是个问题,时间的不确定性很大,最终能不能完成心里也不同底,但,不试试怎么知道呢?
MariaDB默认只能在本地访问,如果要开启外网访问,可以按以下步骤来做。
首先使用`mysql`命令进入数据库。
MySQL中的组合索引是指在多个列上创建的索引,它可以提高查询的效率,但也有一些情况会导致组合索引失效,例如:
1. 查询条件中没有包含组合索引的最左边的列,或者没有按照组合索引的顺序使用列。
使用Shell脚本可以方便地备份MyQL数据库,如果某个表过大,可以忽略它。
以下为示例脚本:
最近在学习Kubenetes,把Nginx,PHP,MySQL都以集群的方式部署到了Kubenetes下。
部署完成之后,找了个FastAdmin的项目来测试下有没有什么问题。
其它问题就不说了,主要是中文乱码的问题。
由于历史原因,MySQL是使用的最多,也是首选的数据库,但当数据量达到千万级别,并有在线分析的需求时,读大于写,MySQL的响应就会越来越慢,直接检索MySQL不但不能得到快速的响应,反而会影响写入性能。
此时,将MySQL数据同步到数据仓库中,从数据仓库中来检索数据就变得非常有必要了。
MySQL全文检索解析器ngram自版本5.7.6可用。
ngram_token_size变量
`ngram_token_size`默认为2,表示按最小两个字来分词,比如”十六”,单个词如”六”是检索不出来的,需要将`ngram_token_size`设置为1。
MySQL8引入了一些新特性,也有一些改动,升级的时候要注意下。
Authentication 身份认证
身份认证时默认使用的是`caching_sha2_password`,而之前的版本是`mysql_native_password`,老的程序不兼容,比如MySQL管理工具`Sequel Pro`等。
在Docker中使用MySQL还是很方便的。
MySQL 5.7版本创建命令