该篇文章主要讲解mysql的一些配置
1、问题:执行单个sql文件失败,显示sql太大
max_allowed_packet是指mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小。如果超过了设置的最大长度,则会数据库保持数据失败。
查询当前数据库大小:
show variables like ‘%max_allowed_packet%’;
修改配置文件,需要重启mysql配置项:
vim /etc/mysql/my.cnf
max_allowed_packet =99999744
2、MySQL的日志文件
该配置项一般配置在/etc/my.cnf中,或按实际路径去查找mysql的配置项,
根据实际需要,配所需日志参数
vim /etc/my.cnf
参考链接:
聊聊 MySQL 网络缓冲区、net_buffer_length、max_allowed_packet 那些事-CSDN博客
3、sql_mode
是一组mysql的语法校验规则,定义了mysql应该支持的sql语法、数据校验
实际工作中,遇到GROUP BY聚合操作,需要删掉ONLY_FULL_GROUP_BY
问题:
1、数据库中表使用的是自增ID,把其中一个表的一条记录的ID手动改成了0
2、查询数据库,发现ID手动改为0的那条记录ID不是0了
原因分析:
因为在数据库表中ID采用了自增ID策略。默认情况下当ID是0或者null的时候,数据库会自动产生一个新的自增序列作为这条记录的ID。这就是我们插入0值ID记录时与期望不符原因。
参考链接:
MySQL-使用自增ID无法插入ID为0值的记录问题分析-蒲公英云
4、其他
# 修改数据库用户权限
mysql -uroot -proot
show databases;
use mysql
-- 查看数据库中的用户权限表
select User,authentication_string,Host from user;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
# 日志导出功能
secure_file_priv=''