mysql案例~非常规操作汇总

一 简介:此文汇总mysql不常见的数据库的操作
二 mysql表修改最大自增ID
目的: 修复canal相关问题
语法: alter table a AUTO_INCREMENT=num;
执行速度: 自增ID的最大值都在内存中,所以更改是秒级,不用担心速度
三 更改分区表联合主键操作
目的: 给分区表联合主键增加自增属性
语法: alter table test1 change column id id int auto_increment;
注意: 联合主键添加自增属性,自增列必须在第一位,否则会有问题

四 更改mysql字符集
目的: 给原来的老数据库将默认字符集更新成utf9
语法: set global character_set_server=utf8 可在线修改
注意: 修改字符集对于数据库本身可能造成问题,一定要进行测试

五 mysql类型互相转化问题

目的:blob类型转换为char类型 oracle 迁移数据,oracle的blob存储到mysql的blob类型,然后再进行char转化

语法 select CAST(content AS CHAR(10000) CHARACTER SET utf8) from t_bonus_code_log

注意: 有可能blob输出会有乱码,可以调整字符集试试

六 mysql 错误日志记录

5.6   log_warnings 默认为1

log_warnings 为0, 表示不记录告警信息。
    log_warnings 为1, 表示告警信息写入错误日志。
    log_warnings 大于1, 表示各类告警信息,例如有关网络故障的信息和重新连接信息写入错误日志。

5.7  log_error_verbosity 默认值看版本号 可能为1 或者 2

log_error_verbosity 为 0,表示 不记录告警信息

log_error_verbosity 为1 表示记录 错误日志

log_error_verbosity  为2  表示记录错误日志和告警日志

log_error_verbosity  为 3  表示记录错误日志 告警日志和note日志

大家可以根据实际场景进行灵活调整,另外5.7的这个参数将在8.0被移除

七  mysql 大小写相关

表级别: mysql默认是区分大小写的,所针对的是表名 参数为 lower_case_table_names,请注意该参数为只读参数,需要重启数据库才能进行修改生效

数据级别: mysql查询语句查询数据本身是不区分大小写的,如果需要区分大小写

1 在条件前面加上binary参数 例如  binary aa='A';

2 建表时在指定列前加上binary参数

待补充

上一篇:redis总结(一)的持久化的取舍和选择以及作用


下一篇:Hadoop入门经典:WordCount