
# GaussDB（MySQL兼容模式）数据库GUC参数
当使用MySQL兼容模式，可以设置GUC参数提高GaussDB的兼容性，迁移涉及的GUC参数和影响范围可参见[表1]。
![](https://support.huaweicloud.com/ugo_faq/public_sys-resources/caution_3.0-zh-cn.png)
GaussDB数据库提供了许多运行参数，配置这些参数可以影响数据库系统的行为。在修改这些参数时请确保用户理解了这些参数对数据库的影响，否则可能会导致无法预料的结果。
 表1GaussDB（MySQL兼容模式）的GUC参数 
| 兼容MySQL行为配置项                                              | 兼容性配置项               | 兼容性配置项名字            | 支持的数据库                                                    | 是否建议打开 |
|:---|:---|:---|:---|:---|
| b_format_behavior_compat_options                          | enable_set_variables | 仅限集中式版会话变量生效。       | 集中式版                                                      | 是      |
| b_format_version                                          | 5.7                  | 数据库平台兼容性行为配置项。      | GaussDB V2.0-8.0 集中式版/分布式版                                | 是      |
| b_format_dev_version  | s1                   | 数据库平台迭代小版本兼容性行为配置项。 | GaussDB V2.0-8.0 集中式版/分布式版                                | 是      |
| b_format_dev_version  | s2                   | 数据库平台迭代小版本兼容性行为配置项。 | GaussDB V2.0-8.100 集中式版/分布式版、GaussDB V2.0-8.200 集中式版/分布式版 | 是      |
   
![](https://support.huaweicloud.com/ugo_faq/public_sys-resources/note_3.0-zh-cn.png)
b_format_dev_version参数设置：
- GaussDB V2.0-8.0 企业版，设置为 s1。
- GaussDB V2.0-8.100 企业版和GaussDB V2.0-8.200 企业版，设置为 s2。
 
- S1兼容性配置项所影响的内容：
  - NEW()函数、last_day()函数、date_sub(date, INTERVAL expr unit)、datediff(expr1, expr2)、day()/dayofmonth()、dayname()
  
  - dayofweek()、dayofyear()、extract(unit FROM date)、from_days(days)、from_unixtime(unix_timestamp\[,format\])、get_format({DATE \| TIME \| DATETIME \| TIMESTAMP}, {'EUR' \| 'USA' \| 'JIS' \| 'ISO' \| 'INTERNAL'})、 hour()、makedate(year,dayofyear)、microsecond()、minute()、month()、monthname()、 period_add(period, month_number)
  
  - TIMESTAMPDIFF、yearweek(date\[, mode\])、year()、weekofyear(date)、 weekday()、week(date\[, mode\])、utc_timestamp()、utc_time()、period_diff(p1,p2)、second().
  
  - quarter()、str_to_date(str, format)、subdate(expr, days)、time_format(time, format)、ifnull(expr1, expr2)、database()、current_date、current_time、current_timestamp
  
  - round(arg1, arg2)、localtime(\[precision\])、localtimestamp、dbtimezone、timenow()、numtodsinterval(num, interval_unit)、numtoyminterval(num, interval_unit)
  
  - new_time(date, timezone1,timezone2)、sysdate(\[precision\])、add_months(d,n)、months_between(d1, d2)、convert_tz(dt, from_tz, to_tz)
  
  - adddate(date, INTERVAL expr unit)、date_format(date, format)
   

- S2兼容性配置项所影响的内容：
  - 包含s1控制的兼容性行为。
  
  - 影响如下功能：
    - AUTO_INCREMENT自动增长列在导入数据或者进行BATCH INSERT执行计划的插入操作时，对于混合0、NULL和确定值的场景，确定值插入时会立即更新自增计数，后续的0/NULL将在确定值的基础上自增。
    
    - like操作符对于匹配串末尾是转义符的场景不再报错。
    
    - 字符集、字符序的排序规则优先级将发生变更。
     
  
  - 影响如下语法：
    - CREATE TABLE table_name LIKE source_table语法。
    
    - CREATE TABLE table_name LIKE source_table和"CREATE TABLE table_name (LIKE source_table)"语法不支持指定INCLUDING和EXCLUDING选项，缺省等同于指定INCLUDING ALL。
    
    - 支持LOAD DATA语法，gs_loader中部分与LOAD DATA语法一致的语法功能会发生变化。
    
    - 支持set names指定collate子句。
    
    - 涉及ALTER TABLE，RENAME TABLE等更改表名的语法，影响场景如：新表名对应字符串开头为"#MySQL50#"，且其后有其他字符，"#MySQL50#"将被忽略。
     
   
 
