Mysql
使用MySql遇到的问题总结
Mybatis-Plus批量存储慢
mybatis-plus提供的saveBatch方法批量存储时为单条sql执行,存储速度慢,不适合大量数据存储,官方提供了insert into的sample需要开发人员自己单独集成。
官方示例
Mysql导入大文件
Navicate执行大文件sql脚本时,速度慢还容易失败。所以直接在mysql中操作文件的导入。
- 进入mysql
mysql -u root -p
- 创建数据库
create database <dbName>;
- 设置参数
如果不关闭log会导致binlog过大,使用navicate导入时,因为存储的binlog过大,导致mysql无法启动,删除binlog后mysql正常启动set sql_log_bin=OFF; set autocommit=0;
- 使用数据库
use <dbName>;
- 开启事务
start transaction;
- 开始导入
sqlFilePath是你的sql文件路径source <sqlFilePath>;
- 执行完成后提交
commit;
记录binlog过大导致mysql无法启动的问题
错误信息
解决办法2020-07-28T02:23:28.308800Z 0 [ERROR] [MY-010846] [Server] MYSQL_BIN_LOG::open_purge_index_file failed to open register file. 2020-07-28T02:23:28.308848Z 0 [ERROR] [MY-010817] [Server] MYSQL_BIN_LOG::open_index_file failed to sync the index file. 2020-07-28T02:23:28.308882Z 0 [ERROR] [MY-010119] [Server] Aborting
删除/var/lib/mysql目录下的binlog文件,docker容器启动的mysql则删除映射目录下的binlog文件cd /var/lib/mysql rm -rf binlog.0* echo > binlog.index