MySQL调优

  1. 选择最合适的字段属性:类型、长度、是否允许NULL等;尽量把字段设为not null;

  2. 要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。

  3. 应尽量避免在 where ⼦句中对字段进行行 null 值判断、使⽤用!= 或 <> 操作符,否则将导致引擎放弃使⽤用索引⽽而进⾏行行全表扫描

阅读更多   2019/11/17 posted in  MySQL&MariaDB

Public Key Retrieval is not allowed

今天新搭建了一个项目,数据库是用的MySQL 8.0.15,拷贝的原来项目的数据库配置,但是报
Public Key Retrieval is not allowed的错误,只需要在url后面增加&allowPublicKeyRetrieval=true既可解决。
例如:jdbc:mysql://${MYSQL-HOST:localhost}:${MYSQL-PORT:3306}/${MYSQL-DB:dengyuanke}?characterEncoding=utf8&allowPublicKeyRetrieval=true&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true

2019/5/13 posted in  MySQL&MariaDB

Docker安装MySQL

docker pull mysql

然后执行

docker run -d -e MYSQL_ROOT_PASSWORD=root --name mysql -v /Users/dengyuanke/dev/mysql_data:/var/lib/mysql -p 3306:3306 mysql
阅读更多   2019/4/24 posted in  Docker MySQL&MariaDB

PacketTooBigException的异常解决方法

今天在更新数据库表的时候,报

com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1933 > 1024). You can change this value on the server by setting the max_allowed_packet' variable

的异常,上面的 错误信息已经说的很明显,更改max_allowed_packet的值,由于我是用yum 安装的MariaDB,它的设置文件位置在

/etc/my.cnf

修改my.cnf文件

vi /etc/my.cnf

在里面加入一行 或 修改这行的值:

[mysqldump]
max_allowed_packet = 32M
阅读更多   2018/5/20 posted in  MySQL&MariaDB